Проблема при добавлении Postgresq в качестве базы данных для одного узла в Enterprise Cordapp - PullRequest
0 голосов
/ 19 декабря 2018

Я работал над пробной версией корпоративного выпуска corda (cordapp-example-release-enterpise-v3).Я пытался изменить базу данных одного узла с H2 на PostgreSQL, используя код, показанный ниже

node {
        dataSourceProperties = {
        dataSourceClassName = "org.postgresql.ds.PGSimpleDataSource"
        dataSource.url = "jdbc:postgresql://localhost:5432/postgres"
        dataSource.user = test
        dataSource.password = test123
    }
    database = {
        transactionIsolationLevel = READ_COMMITTED
    }
    name "O=PartyC,L=Paris,C=FR"
    p2pPort 10013
    rpcSettings {
        address("localhost:10014")
        adminAddress("localhost:10054")
    }
    webPort 10015
    cordapps = ["$corda_release_group:corda-finance:$corda_release_version"]
    rpcUsers = [[user: "user1", "password": "test", "permissions": ["ALL"]]]
}

, в то время как при запуске buid с использованием gradlew clean build возникает ошибка типа Could not set unknown property 'dataSourceProperties' for object of type net.corda.plugins.Node., может кто-нибудь помочь мне с этим.также, если я использую IntelliJ для запуска кода, то как мне отредактировать NodeDriver kt файл?.

1 Ответ

0 голосов
/ 19 декабря 2018

dataSourceProperties принадлежит node.conf, а не deployNodes задаче и, следовательно, не будет работать, так как cordform ничего не знает о dataSourceProperties, вы видите ошибку Could not set unknown property.Вы можете использовать extraConfig, чтобы сделать эту работу.Тем не менее, я бы рекомендовал внести эти изменения в node.conf и использовать инструмент начальной загрузки для начальной загрузки.Ниже приведен пример использования extraConfig.

Например:

node {
....

    extraConfig = [
                    dataSourceProperties : [
                            'dataSourceClassName' : "org.h2.jdbcx.JdbcDataSource",
                            '"dataSource.url"' : "jdbc:h2:tcp://localhost:9105/persistence;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=10000;WRITE_DELAY=100;AUTO_RECONNECT=TRUE;",
                            '"dataSource.user"' : "sa",
                            '"dataSource.password"' : ""
                    ],
                    database : ["transactionIsolationLevel" :"READ_COMMITTED"]
             ]

}
...