diff --git a/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/tag/TagRouter.java b/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/tag/TagRouter.java index 91a0f8ee0f6..daf3fb118a4 100644 --- a/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/tag/TagRouter.java +++ b/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/tag/TagRouter.java @@ -160,7 +160,7 @@ public List> route(List> invokers, URL url, Invocation * @return */ private List> filterUsingStaticTag(List> invokers, URL url, Invocation invocation) { - List> result = invokers; + List> result; // Dynamic param String tag = StringUtils.isEmpty(invocation.getAttachment(TAG_KEY)) ? url.getParameter(TAG_KEY) : invocation.getAttachment(TAG_KEY); @@ -188,19 +188,11 @@ public boolean isForce() { } private boolean isForceUseTag(Invocation invocation) { - return Boolean.valueOf(invocation.getAttachment(FORCE_USE_TAG, url.getParameter(FORCE_USE_TAG, "false"))); + return Boolean.parseBoolean(invocation.getAttachment(FORCE_USE_TAG, url.getParameter(FORCE_USE_TAG, "false"))); } private List> filterInvoker(List> invokers, Predicate> predicate) { - boolean filter = false; - for (int i = 0; i < invokers.size(); ++i) { - Invoker invoker = invokers.get(i); - if (!predicate.test(invoker)) { - filter = true; - break; - } - } - if (!filter) { + if (invokers.stream().allMatch(predicate)) { return invokers; }