corda - Corda MQ 节点错误 - 使用 p2pAddress 主机名的不正确端点的消息
问题描述
我正在运行 Corda 3.1,并在不同的机器上运行节点。如果我将我的 p2pAddress 指定为我的主机名,在成功启动后,我会在 IOU 示例中尝试事务时收到一条错误端点错误消息:
[ERROR] 2018-05-31T14:48:22,406Z [nioEventLoopGroup-2-1] O=Bank A,L=London,C=GB.write - Error in AMQP write processing {}
java.lang.IllegalArgumentException: Message for incorrect endpoint
at net.corda.nodeapi.internal.protonwrapper.netty.AMQPChannelHandler.write(AMQPChannelHandler.kt:124) [corda-node-api-3.1-corda.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) [netty-all-4.1.9.Final.jar:4.1.9.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:730) [netty-all-4.1.9.Final.jar:4.1.9.Final]
at io.netty.channel.AbstractChannelHandlerContext.access$1900(AbstractChannelHandlerContext.java:38) [netty-all-4.1.9.Final.jar:4.1.9.Final]
at io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.write(AbstractChannelHandlerContext.java:1089) [netty-all-4.1.9.Final.jar:4.1.9.Final]
at io.netty.channel.AbstractChannelHandlerContext$WriteAndFlushTask.write(AbstractChannelHandlerContext.java:1136) [netty-all-4.1.9.Final.jar:4.1.9.Final]
at io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.run(AbstractChannelHandlerContext.java:1078) [netty-all-4.1.9.Final.jar:4.1.9.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) [netty-all-4.1.9.Final.jar:4.1.9.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403) [netty-all-4.1.9.Final.jar:4.1.9.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:442) [netty-all-4.1.9.Final.jar:4.1.9.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) [netty-all-4.1.9.Final.jar:4.1.9.Final]
at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144) [netty-all-4.1.9.Final.jar:4.1.9.Final]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171]
这是我的 node.conf 的片段:
myLegalName : "O=Bank A,L=London,C=GB"
p2pAddress : "my-load-balancer-hostname.aws.com:10002"
rpcSettings = {
address : "localhost:10003"
adminAddress : "localhost:10004"
}
rpcUsers : [
{ username=user1, password=test, permissions=[ ALL ] }
]
devMode : true
我可以通过使用机器的 IP 地址作为 p2pAddress 来解决这个问题(并按预期跨节点进行事务)。但是,我的节点 IP 可能会更改,因此我想使用主机名吗?这可能吗?
解决方案
这似乎与 AWS 负载均衡器有关。
推荐阅读
- sqlite - 涵盖精确匹配和小于/大于sqlite中查询的最佳索引
- angular - http获取请求的角度获取值选择菜单
- visual-studio-code - 两个项目的Vscode格式“保存时”不同
- wordpress - 使用图片作为联系表格 7 上的单选按钮,但未在邮件中接收图片
- java - 尝试针对 PostgreSQL 数据库为 Spring 开发设置 H2 数据库
- c++ - new int[100] 和 new int[100]() 之间的区别;
- c++ - opengl不填充多边形
- scala - 每组在 Spark-Scala 中查找百分位数
- vue.js - nuxtjs/google-tag-manager 仅在获得 cookie 同意后才添加谷歌分析
- mysql - mysql特征缩放计算