错误如下
Caused by: java.lang.UnsupportedOperationException
at java.util.concurrent.CopyOnWriteArrayList$COWIterator.set(CopyOnWriteArrayList.java:1185)
at java.util.Collections.sort(Collections.java:170)
at org.apache.dubbo.rpc.cluster.RouterChain.sort(RouterChain.java:87)
at org.apache.dubbo.rpc.cluster.RouterChain.initWithRouters(RouterChain.java:67)
at org.apache.dubbo.rpc.cluster.RouterChain.<init>(RouterChain.java:57)
at org.apache.dubbo.rpc.cluster.RouterChain.buildChain(RouterChain.java:46)
at org.apache.dubbo.registry.integration.RegistryDirectory.buildRouterChain(RegistryDirectory.java:622)
at org.apache.dubbo.registry.integration.RegistryProtocol.doRefer(RegistryProtocol.java:385)
at org.apache.dubbo.registry.integration.RegistryProtocol.refer(RegistryProtocol.java:367)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:114)
at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:70)
at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:65)
at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)
at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:366)
at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:305)
RouterChain.sort使用了Collections.sort(CopyOnWriteArrayList)
这个在jdk8u20之前算是bug
Collections.sort(List l, Comparator) should defer to List.sort(Comparator )