Подключение базы данных SQL и H2 к базе данных узлов в r3 corda - PullRequest
0 голосов
/ 01 октября 2018

Если мы пытаемся разместить базу данных узла корда на сервере SQL, можем ли мы разместить их все в одной базе данных?Если да, как это сделать и как это повлияет.

Может ли встроенная база данных H2, которая создается при развертывании узла, храниться локально в системе, так что данные становятся постоянными и не теряются в следующей сборке?

1 Ответ

0 голосов
/ 01 октября 2018

Совместное использование базы данных H2

Начиная с Corda 3, каждый узел по умолчанию раскручивает свою собственную базу данных H2.

Однако вы можете указать несколько узлов наотдельная автономная база данных H2, как указано ниже:

  • Запустить автономный экземпляр H2 (например, java -jar ./h2/bin/h2-1.4.196.jar -webAllowOthers -tcpAllowOthers)
  • В файле конфигурации узла node.conf установите dataSource.url = "jdbc:h2:tcp://localhost:9092/~/nodeUniqueDatabaseName",где nodeUniqueDatabaseName уникален для этого узла

Для каждого nodeUniqueDatabaseName, H2 создаст файл nodeUniqueDatabaseName.mv.db в домашнем каталоге пользователя.

Вы также можете установить определенныйабсолютный путь (например, dataSource.url = "jdbc:h2:tcp://localhost:9092/~/Users/szymonsztuka/IdeaProjects/corda3/nodeUniqueDatabaseName").Это создаст файл базы данных в Users/szymonsztuka/IdeaProjects/corda3/.

. Обратите внимание, что этот подход небезопасен, поскольку сервер h2 запускается с -webAllowOthers -tcpAllowOthers, что означает, что любой может войти в систему и изменить базу данных.

Ведение данных во всех сборках узлов

База данных H2 отбрасывается при повторном запуске deployNodes, поскольку предполагается, что вы создаете совершенно новый набор узлов.Если вы хотите внести изменения только в установленные CorDapps, вы можете закрыть узел, обновить его CorDapps (создав новые JAR-файлы CorDapp, как описано здесь и скопировав JAR-файлы CorDapp в его папку cordapps)и перезапустите узел.Будут установлены новые CorDapps, но все еще будут присутствовать данные старого узла.

...