Corda Enterprise 3.2无法加载自定义配置文件

时间:2018-11-27 12:35:49

标签: corda

我们构建了一个CordApp,它与RabbitMQ连接,并需要一个配置文件来配置消息队列的订阅者和发布者。

CorDapp是针对3.2-corda构建的,但是在Corda Enterprise 3.2节点上运行时无法加载配置文件。

启动Corda Web服务器时,日志中会附加以下异常:

  

以网络服务器身份启动:localhost:8080 [ERROR] 11:59:24 + 0000 [main]   messages.XXX.initializeQueues-订阅时捕获到异常   兔子队列[错误] 11:59:24 + 0000 [主]   messages.XXX.initializeQueues-   net.corda.nodeapi.internal.config.ConfigUtilities.parseAs(Lcom / typesafe / config / Config; Lkotlin / reflect / KClass;)Ljava / lang / Object;   java.lang.NoSuchMethodError:   net.corda.nodeapi.internal.config.ConfigUtilities.parseAs(Lcom / typesafe / config / Config; Lkotlin / reflect / KClass;)Ljava / lang / Object;   2018年11月27日上午11:59:25   org.glassfish.jersey.internal.inject.Providers checkProviderRuntime

加载配置的代码如下:

 val connectionConfig = defaultConfig!!
    .resolve()
    .getConfig("app-integration.rabbitMqConnectionConfiguration")
    .parseAs<RabbitMqConnectionConfiguration>()

鉴于我们使用的是通用的parseAs<RabbitMqConnectionConfiguration>()方法,我们假设此方法旨在随后调用parseAs(Config, KClass): Object方法,但是由于某种原因,它似乎丢失了?

1 个答案:

答案 0 :(得分:0)

我实际上会看一下@joel的建议。科尔达还不是一个“开放核心”项目。

因此,您可能应针对企业jar编译cordapps,以确定问题是应用程序还是两个corda版本之间的API不同。

我的另一个怀疑是在corda OS和corda企业中可能使用了不同版本的java。

我还将查看最新版本的corda是否仍然存在此问题。