我有一个与Spring Boot客户端一起在我的机器上运行的节点。客户端连接到节点的rpc端口,一切正常,但是当我关闭客户端时,节点崩溃,我必须重新启动它。为什么发生这种情况是一个错误,或者我做错了什么。我也已经将它们部署在云上,并且发生了同样的问题。
Corda Open Source 4.0 (503a2ff) May 16 11:37:43 broker java[16853]: Logs can be found in : /opt/corda/logs May 16 11:37:58 broker java[16853]: Advertised P2P messaging addresses : 35.228.97.4:10011 May 16 11:37:58 broker java[16853]: RPC connection address : 10.166.0.2:10012 May 16 11:37:58 broker java[16853]: RPC admin connection address : 10.166.0.2:10050 May 16 11:38:01 broker java[16853]: Loaded 2 CorDapp(s) : Contract CorDapp: Template CorDapp version 1 by vendor Corda Ope May 16 11:38:01 broker java[16853]: Node for "Broker" started up and registered in 19.86 sec May 16 11:38:01 broker java[16853]: SSH server listening on port : 2222 May 16 12:10:03 broker java[16853]: Shutting down ...
答案 0 :(得分:1)
这取决于您如何创建CordaRPCOps
类。
如果它是bean,则在客户端关闭时它将调用CordaRPCOps.shutdown
。这是由于Spring默认会在任何bean上触发任何名为shutdown
的方法。因此,通过不将其创建为bean,例如,将CordaRPCOps
周围的包装器类创建为bean,将解决此问题。
或者您可以通过定义如下bean来告诉spring不要触发shutdown方法:
@Bean(destroyMethod = "")
public CordaRPCOps proxy() {}