corda - Corda Enterprise 3.2 无法加载自定义配置文件
问题描述
我们已经构建了一个与 RabbitMQ 连接的 CordApp,并且需要一个配置文件来配置消息队列的订阅者和发布者。
CorDapp3.2-corda
在 Corda Enterprise 3.2 节点上运行时构建,但无法加载配置文件。
当我们启动 Corda Web 服务器时,日志中会附加以下异常:
从网络服务器开始: localhost:8080 [ERROR] 11:59:24+0000 [main] messing.XXX.initializeQueues - 订阅 Rabbit 队列时捕获异常 [ERROR] 11:59:24+0000 [main] messing.XXX。初始化队列-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>()
方法,我们假设 this 旨在随后调用一个parseAs(Config, KClass): Object
方法,但由于某种原因,它似乎丢失了?
解决方案
我实际上会看看上面@joel 的建议。Corda 还不是一个“开放核心”项目。
因此,您可能应该针对企业 jar 编译 cordapps,以确定问题是应用程序还是两个 corda 版本之间的不同 API。
我的另一个怀疑是corda OS和corda企业中可能使用了不同版本的java。
我还想看看这个问题在最新版本的corda中是否仍然存在。
推荐阅读
- c++ - 如何在其聚合初始化程序中使用类静态对象的大小?
- html - 移动下划线在标题下方并位于左侧
- c++ - Clang 和 MSVC 的模板模板参数推导失败,但 GCC 成功
- java - 添加 Apache POI 作为外部库后应用程序立即崩溃
- php - 在 html标签中显示来自 curl 请求的图像
- apache-kafka - Kafka 消费者何时重试?
- ffmpeg - FFMPEG 在剪辑结束时切断音频
- apache-kafka - LogCompaction and consumer in Kafka
- r - Create sequence of values based on multiple column values in R
- node.js - How do I get my async function to return values not a promise?