When more than 3 methods are registered with SoulSofaClient. It throws an exception.
Environment
Soul version(s): master
Steps to reproduce
1、use soul-examples-sofa
2、add DubboMultiParamService interface and config
Expected behavior
Debug logs
Click to expand
```
com.alipay.sofa.rpc.core.exception.SofaRpcRuntimeException: RPC-010010014: KEY 为 [bolt://org.dromara.soul.examples.dubbo.api.service.DubboMultiParamService:] 的 Consumer config 重复发布超过了 [3] 次.也许这是一个错误的配置导致的,请检查.
at com.alipay.sofa.rpc.bootstrap.DefaultConsumerBootstrap.refer(DefaultConsumerBootstrap.java:136) ~[sofa-rpc-all-5.7.6.jar:5.7.6]
at com.alipay.sofa.rpc.config.ConsumerConfig.refer(ConsumerConfig.java:926) ~[sofa-rpc-all-5.7.6.jar:5.7.6]
at org.dromara.soul.plugin.sofa.cache.ApplicationConfigCache.build(ApplicationConfigCache.java:159) ~[classes/:na]
at org.dromara.soul.plugin.sofa.cache.ApplicationConfigCache.initRef(ApplicationConfigCache.java:131) ~[classes/:na]
at org.dromara.soul.plugin.sofa.subscriber.SofaMetaDataSubscriber.onSubscribe(SofaMetaDataSubscriber.java:44) ~[classes/:na]
at org.dromara.soul.plugin.sync.data.websocket.handler.MetaDataHandler.lambda$null$0(MetaDataHandler.java:42) ~[classes/:na]
at java.util.ArrayList.forEach(ArrayList.java:1257) ~[na:1.8.0_211]
at org.dromara.soul.plugin.sync.data.websocket.handler.MetaDataHandler.lambda$doRefresh$1(MetaDataHandler.java:42) ~[classes/:na]
at java.util.ArrayList.forEach(ArrayList.java:1257) ~[na:1.8.0_211]
at org.dromara.soul.plugin.sync.data.websocket.handler.MetaDataHandler.doRefresh(MetaDataHandler.java:42) ~[classes/:na]
at org.dromara.soul.plugin.sync.data.websocket.handler.AbstractDataHandler.handle(AbstractDataHandler.java:68) ~[classes/:na]
at org.dromara.soul.plugin.sync.data.websocket.handler.WebsocketDataHandler.executor(WebsocketDataHandler.java:61) ~[classes/:na]
at org.dromara.soul.plugin.sync.data.websocket.client.SoulWebsocketClient.handleResult(SoulWebsocketClient.java:87) ~[classes/:na]
at org.dromara.soul.plugin.sync.data.websocket.client.SoulWebsocketClient.onMessage(SoulWebsocketClient.java:68) ~[classes/:na]
at org.java_websocket.client.WebSocketClient.onWebsocketMessage(WebSocketClient.java:591) [Java-WebSocket-1.5.0.jar:na]
at org.java_websocket.drafts.Draft_6455.processFrameText(Draft_6455.java:885) [Java-WebSocket-1.5.0.jar:na]
at org.java_websocket.drafts.Draft_6455.processFrame(Draft_6455.java:819) [Java-WebSocket-1.5.0.jar:na]
at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:379) [Java-WebSocket-1.5.0.jar:na]
at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:216) [Java-WebSocket-1.5.0.jar:na]
at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:508) [Java-WebSocket-1.5.0.jar:na]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_211]
```
The problem was fixed by modifying the configuration. See https://github.com/dromara/soul/pull/996. If you have a better solution, please submit your PR. Closing now.
Describe the bug
When more than 3 methods are registered with
SoulSofaClient
. It throws an exception.Environment
Steps to reproduce
1、use
soul-examples-sofa
2、add DubboMultiParamService interface and configExpected behavior
Debug logs
Click to expand
``` com.alipay.sofa.rpc.core.exception.SofaRpcRuntimeException: RPC-010010014: KEY 为 [bolt://org.dromara.soul.examples.dubbo.api.service.DubboMultiParamService:] 的 Consumer config 重复发布超过了 [3] 次.也许这是一个错误的配置导致的,请检查. at com.alipay.sofa.rpc.bootstrap.DefaultConsumerBootstrap.refer(DefaultConsumerBootstrap.java:136) ~[sofa-rpc-all-5.7.6.jar:5.7.6] at com.alipay.sofa.rpc.config.ConsumerConfig.refer(ConsumerConfig.java:926) ~[sofa-rpc-all-5.7.6.jar:5.7.6] at org.dromara.soul.plugin.sofa.cache.ApplicationConfigCache.build(ApplicationConfigCache.java:159) ~[classes/:na] at org.dromara.soul.plugin.sofa.cache.ApplicationConfigCache.initRef(ApplicationConfigCache.java:131) ~[classes/:na] at org.dromara.soul.plugin.sofa.subscriber.SofaMetaDataSubscriber.onSubscribe(SofaMetaDataSubscriber.java:44) ~[classes/:na] at org.dromara.soul.plugin.sync.data.websocket.handler.MetaDataHandler.lambda$null$0(MetaDataHandler.java:42) ~[classes/:na] at java.util.ArrayList.forEach(ArrayList.java:1257) ~[na:1.8.0_211] at org.dromara.soul.plugin.sync.data.websocket.handler.MetaDataHandler.lambda$doRefresh$1(MetaDataHandler.java:42) ~[classes/:na] at java.util.ArrayList.forEach(ArrayList.java:1257) ~[na:1.8.0_211] at org.dromara.soul.plugin.sync.data.websocket.handler.MetaDataHandler.doRefresh(MetaDataHandler.java:42) ~[classes/:na] at org.dromara.soul.plugin.sync.data.websocket.handler.AbstractDataHandler.handle(AbstractDataHandler.java:68) ~[classes/:na] at org.dromara.soul.plugin.sync.data.websocket.handler.WebsocketDataHandler.executor(WebsocketDataHandler.java:61) ~[classes/:na] at org.dromara.soul.plugin.sync.data.websocket.client.SoulWebsocketClient.handleResult(SoulWebsocketClient.java:87) ~[classes/:na] at org.dromara.soul.plugin.sync.data.websocket.client.SoulWebsocketClient.onMessage(SoulWebsocketClient.java:68) ~[classes/:na] at org.java_websocket.client.WebSocketClient.onWebsocketMessage(WebSocketClient.java:591) [Java-WebSocket-1.5.0.jar:na] at org.java_websocket.drafts.Draft_6455.processFrameText(Draft_6455.java:885) [Java-WebSocket-1.5.0.jar:na] at org.java_websocket.drafts.Draft_6455.processFrame(Draft_6455.java:819) [Java-WebSocket-1.5.0.jar:na] at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:379) [Java-WebSocket-1.5.0.jar:na] at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:216) [Java-WebSocket-1.5.0.jar:na] at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:508) [Java-WebSocket-1.5.0.jar:na] at java.lang.Thread.run(Thread.java:748) [na:1.8.0_211] ```