【问题标题】:CORDA RPC disconnection/TimeoutCORDA RPC 断开/超时
【发布时间】:2018-12-28 05:25:33
【问题描述】:

我们整晚都在运行 CORDA 节点,并且正在测试金融消息的连续流动。

12 小时后,我们发现侦听保管库更改的 RPC 客户端不再捕获它断开连接的消息。

  • 我们如何获取客户端获取时间段的事件 断开连接,快照仅提供所有事件。
  • 我们有一些 配置以防止客户端超时。请让我们知道 最佳实践,因为我们的场景需要高可靠性。
  • 能否请您提供一些关于从 CORDA 节点捕获事件的正确架构模式的见解
  • 我们使用的是基于以下示例的模式

updates.toBlocking().subscribe { 更新 -> update.produced.forEach { 日志状态(它) }

这是日志中的一些错误

【问题讨论】:

  • 您能否添加有关断开连接时机器正在做什么的信息? RPC 客户端运行在什么样的机器上?
  • 这是一台 16 GB 内存的 linux 笔记本电脑。机器已锁定屏幕。
  • 机器是否在任何时候进入睡眠状态?

标签: corda


【解决方案1】:

在 Corda 4.3 中,我们引入了 RPC 重连功能。您只需将以下代码添加到您的 spring 客户端,它就会起作用。

val gracefulReconnect = GracefulReconnect(onDisconnect={/*insert disconnect handling*/}, onReconnect{/*insert reconnect handling*/}, maxAttempts = 3)
val cordaClient = CordaRPCClient(nodeRpcAddress)
val cordaRpcOps = cordaClient.start(rpcUserName, rpcUserPassword, gracefulReconnect = gracefulReconnect).proxy

另外,如果您正在寻找有关重新连接的更多信息,请参阅博客:https://www.corda.net/blog/corda-rpc-reconnecting-client/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-26
    • 2019-11-03
    • 1970-01-01
    • 2019-07-30
    • 2020-04-26
    • 2019-04-24
    相关资源
    最近更新 更多