БД SQL для Vault в корде 3 - PullRequest
       7

БД SQL для Vault в корде 3

0 голосов
/ 24 сентября 2018

В открытой документации Corda я прочитал следующее:

Отображение ORM задается с использованием Java Persistence API (JPA) в качестве аннотаций и автоматически преобразуется узлом в строки таблицы базы данных каждый раз, когдасостояние записывается в локальное хранилище узла как часть транзакции.

В настоящее время узел включает в себя экземпляр базы данных H2, но любая база данных, поддерживающая JDBC, является кандидатом, и узел будет в будущем поддерживатьряд реализаций базы данных через драйверы JDBC.Большая часть внутреннего состояния узла также сохраняется там.

Могу ли я заменить h2 DB на SQL с использованием JDBC?

Как я понял, FinalityFlow используется длязаписать транзакцию в локальном хранилище с использованием h2 DB.Если я реализую пользовательский поток для записи в БД SQL, я должен избегать вызова FinalityFlow?

1 Ответ

0 голосов
/ 25 сентября 2018

Да, можно запустить узел с базой данных SQL, отличной от H2.На самом деле, поддержка PostgreSQL и SQLServer была предоставлена ​​сообществом открытого исходного кода.См. Инструкции по настройке здесь .Однако следует помнить, что конвейер непрерывной интеграции Corda не запускает модульные тесты или интеграционные тесты этих баз данных, поэтому их следует использовать на свой страх и риск.

Обратите внимание, что в обоих случаях вы настраиваете узел для использованияальтернативная база данных через файл конфигурации, и она сохраняет все свои данные в этой альтернативной базе данных (транзакции, состояния, идентификаторы и т. д.).От вас не ожидается доступа к базе данных напрямую в потоке, чтобы сделать это, и вы можете полагаться на стандартные ServiceHub операции и стандартные потоки, такие как FinalityFlow.

...