我得到了一个基于BYFN样本的项目,但仅限于一个组织。
在应用程序中,当我调用以下代码时:
private Contract getContract(Gateway gw) {
return gw.getNetwork("mychannel").getContract("realchain");
}
产生以下错误:
2019-10-30 09:34:51.433 INFO 23108 --- [nio-8080-exec-3] org.hyperledger.fabric.gateway.Gateway : Unable to load channel configuration from connection profile:
org.hyperledger.fabric.sdk.exception.NetworkConfigurationException: Channel configuration has no channels defined.
at org.hyperledger.fabric.sdk.NetworkConfig.loadChannel(NetworkConfig.java:519) ~[fabric-sdk-java-1.4.5-20190620.151745-1.jar:na]
at org.hyperledger.fabric.sdk.HFClient.loadChannelFromConfig(HFClient.java:161) ~[fabric-sdk-java-1.4.5-20190620.151745-1.jar:na]
at org.hyperledger.fabric.gateway.impl.GatewayImpl.getNetwork(GatewayImpl.java:258) ~[fabric-gateway-java-1.4.0-20191002.055106-31.jar:na]
...
该应用程序以某种方式自行恢复,但我怀疑这个错误会减缓与账本的整个交互。
此外,如果可能的话,我很乐意保持日志的整洁,没有任何异常。
有人遇到并解决了同样的错误吗?
这是正常行为。如果连接配置文件不包含通道定义,则客户端使用对等定义(目前仅适用于您的客户端身份的组织(,并假设这些对等存在通道。它不应该影响性能。
您可以选择将通道定义添加到连接配置文件中,这将避免出现此日志消息,但我们希望避免这是必要的。
我同意日志中出现的异常给人一种错误的印象,即发生了真正的错误,我已经在当前的开发代码中删除了这个错误。