diff --git a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/MergeableClusterInvoker.java b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/MergeableClusterInvoker.java index b24c4e0354..d383a7cf9f 100644 --- a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/MergeableClusterInvoker.java +++ b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/support/MergeableClusterInvoker.java @@ -56,8 +56,9 @@ public class MergeableClusterInvoker implements Invoker { this.directory = directory; } + @SuppressWarnings("unchecked") public Result invoke(final Invocation invocation) throws RpcException { - int timeout = getUrl().getParameter( Constants.TIMEOUT_KEY, Constants.DEFAULT_TIMEOUT ); + int timeout = getUrl().getMethodParameter(invocation.getMethodName(), Constants.TIMEOUT_KEY, Constants.DEFAULT_TIMEOUT); List> invokers = directory.list(invocation); Map> results = new HashMap>(); @@ -94,7 +95,7 @@ public class MergeableClusterInvoker implements Invoker { if ( result == null ) { result = r.getResult(); } else { - String merger = getUrl().getParameter( Constants.MERGER_KEY ); + String merger = getUrl().getMethodParameter(invocation.getMethodName(), Constants.MERGER_KEY); if ( merger != null && ! "".equals( merger.trim() ) ) { Method method = returnType.getMethod( merger, returnType ); if ( method != null ) {