This is an automated email from the ASF dual-hosted git repository.
xiaoyu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shenyu.git
The following commit(s) were added to refs/heads/master by this push:
new e98587273 Optimize code for shenyu-client (#4462)
e98587273 is described below
commit e98587273566b559564ae3ba2e8bcc23dee0ab65
Author: balloon72 <[email protected]>
AuthorDate: Fri Mar 10 11:55:07 2023 +0800
Optimize code for shenyu-client (#4462)
Co-authored-by: hanmo1 <ISFA-9844>
Co-authored-by: xiaoyu <[email protected]>
Co-authored-by: dragon-zhang <[email protected]>
---
.../shenyu/client/brpc/BrpcContextRefreshedEventListener.java | 3 ---
.../client/core/client/AbstractContextRefreshedEventListener.java | 8 +++-----
.../core/disruptor/executor/RegisterClientConsumerExecutor.java | 4 ++--
.../apache/shenyu/client/grpc/json/JsonForwardingServerCall.java | 3 +--
.../apache/shenyu/client/grpc/json/JsonServerCallListener.java | 1 -
.../client/springcloud/init/SpringCloudClientEventListener.java | 3 ++-
.../client/springmvc/init/SpringMvcClientEventListener.java | 3 ++-
.../spring/websocket/init/SpringWebSocketClientEventListener.java | 7 +++----
8 files changed, 13 insertions(+), 19 deletions(-)
diff --git
a/shenyu-client/shenyu-client-brpc/src/main/java/org/apache/shenyu/client/brpc/BrpcContextRefreshedEventListener.java
b/shenyu-client/shenyu-client-brpc/src/main/java/org/apache/shenyu/client/brpc/BrpcContextRefreshedEventListener.java
index bf53fe594..12404137a 100644
---
a/shenyu-client/shenyu-client-brpc/src/main/java/org/apache/shenyu/client/brpc/BrpcContextRefreshedEventListener.java
+++
b/shenyu-client/shenyu-client-brpc/src/main/java/org/apache/shenyu/client/brpc/BrpcContextRefreshedEventListener.java
@@ -56,8 +56,6 @@ public class BrpcContextRefreshedEventListener extends
AbstractContextRefreshedE
private final ShenyuClientRegisterEventPublisher publisher =
ShenyuClientRegisterEventPublisher.getInstance();
- private ApplicationContext applicationContext;
-
/**
* Instantiates a new Brpc context refreshed event listener.
*
@@ -85,7 +83,6 @@ public class BrpcContextRefreshedEventListener extends
AbstractContextRefreshedE
@Override
protected Map<String, Object> getBeans(final ApplicationContext context) {
- applicationContext = context;
return context.getBeansWithAnnotation(ShenyuBrpcClient.class);
}
diff --git
a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/client/AbstractContextRefreshedEventListener.java
b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/client/AbstractContextRefreshedEventListener.java
index 98818252b..93c812fcd 100644
---
a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/client/AbstractContextRefreshedEventListener.java
+++
b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/client/AbstractContextRefreshedEventListener.java
@@ -124,9 +124,7 @@ public abstract class
AbstractContextRefreshedEventListener<T, A extends Annotat
publisher.publishEvent(buildURIRegisterDTO(context, beans));
beans.forEach(this::handle);
Map<String, Object> apiModules =
context.getBeansWithAnnotation(ApiModule.class);
- apiModules.forEach((k, v) -> {
- handleApiDoc(v, beans);
- });
+ apiModules.forEach((k, v) -> handleApiDoc(v, beans));
}
private void handleApiDoc(final Object bean, final Map<String, T> beans) {
@@ -143,7 +141,7 @@ public abstract class
AbstractContextRefreshedEventListener<T, A extends Annotat
}
private List<ApiDocRegisterDTO> buildApiDocDTO(final Object bean, final
Method method, final Map<String, T> beans) {
- Pair<String, List<String>> pairs =
Stream.of(method.getDeclaredAnnotations()).filter(item -> item instanceof
ApiDoc).findAny().map(item -> {
+ Pair<String, List<String>> pairs =
Stream.of(method.getDeclaredAnnotations()).filter(ApiDoc.class::isInstance).findAny().map(item
-> {
ApiDoc apiDoc = (ApiDoc) item;
String[] tags = apiDoc.tags();
List<String> tagsList = new ArrayList<>();
@@ -154,7 +152,7 @@ public abstract class
AbstractContextRefreshedEventListener<T, A extends Annotat
}).orElse(Pair.of("", new ArrayList<>()));
Class<?> clazz = AopUtils.isAopProxy(bean) ?
AopUtils.getTargetClass(bean) : bean.getClass();
String superPath = buildApiSuperPath(clazz,
AnnotatedElementUtils.findMergedAnnotation(clazz, getAnnotationType()));
- if (superPath.indexOf("*") > 0) {
+ if (superPath.contains("*")) {
superPath = superPath.substring(0, superPath.lastIndexOf("/"));
}
Annotation annotation =
AnnotatedElementUtils.findMergedAnnotation(clazz, getAnnotationType());
diff --git
a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/disruptor/executor/RegisterClientConsumerExecutor.java
b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/disruptor/executor/RegisterClientConsumerExecutor.java
index 75a3509a7..0b8efbdd5 100644
---
a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/disruptor/executor/RegisterClientConsumerExecutor.java
+++
b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/disruptor/executor/RegisterClientConsumerExecutor.java
@@ -24,7 +24,7 @@ import
org.apache.shenyu.register.common.subsriber.ExecutorTypeSubscriber;
import org.apache.shenyu.register.common.type.DataType;
import org.apache.shenyu.register.common.type.DataTypeParent;
-import java.util.HashMap;
+import java.util.EnumMap;
import java.util.Map;
import java.util.stream.Collectors;
@@ -36,7 +36,7 @@ public final class RegisterClientConsumerExecutor<T extends
DataTypeParent> exte
private final Map<DataType, ExecutorTypeSubscriber<T>> subscribers;
private RegisterClientConsumerExecutor(final Map<DataType,
ExecutorTypeSubscriber<T>> executorSubscriberMap) {
- this.subscribers = new HashMap<>(executorSubscriberMap);
+ this.subscribers = new EnumMap<>(executorSubscriberMap);
}
@Override
diff --git
a/shenyu-client/shenyu-client-grpc/src/main/java/org/apache/shenyu/client/grpc/json/JsonForwardingServerCall.java
b/shenyu-client/shenyu-client-grpc/src/main/java/org/apache/shenyu/client/grpc/json/JsonForwardingServerCall.java
index 12585b9d8..cb0e04bfb 100644
---
a/shenyu-client/shenyu-client-grpc/src/main/java/org/apache/shenyu/client/grpc/json/JsonForwardingServerCall.java
+++
b/shenyu-client/shenyu-client-grpc/src/main/java/org/apache/shenyu/client/grpc/json/JsonForwardingServerCall.java
@@ -23,9 +23,9 @@ import com.google.protobuf.MessageOrBuilder;
import com.google.protobuf.util.JsonFormat;
import io.grpc.Attributes;
import io.grpc.Metadata;
+import io.grpc.MethodDescriptor;
import io.grpc.ServerCall;
import io.grpc.Status;
-import io.grpc.MethodDescriptor;
import org.apache.shenyu.protocol.grpc.message.JsonMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -66,7 +66,6 @@ public class JsonForwardingServerCall<R, P> extends
ServerCall<R, P> {
LOG.debug("begin send json response");
delegate().sendMessage((P) respMessage);
} catch (InvalidProtocolBufferException e) {
- LOG.error("handle json message is error", e);
throw
Status.INTERNAL.withDescription(e.getMessage()).asRuntimeException();
}
}
diff --git
a/shenyu-client/shenyu-client-grpc/src/main/java/org/apache/shenyu/client/grpc/json/JsonServerCallListener.java
b/shenyu-client/shenyu-client-grpc/src/main/java/org/apache/shenyu/client/grpc/json/JsonServerCallListener.java
index 02442989f..741719d90 100644
---
a/shenyu-client/shenyu-client-grpc/src/main/java/org/apache/shenyu/client/grpc/json/JsonServerCallListener.java
+++
b/shenyu-client/shenyu-client-grpc/src/main/java/org/apache/shenyu/client/grpc/json/JsonServerCallListener.java
@@ -72,7 +72,6 @@ public class JsonServerCallListener<R, P> extends
ForwardingServerCallListener<R
delegate.onMessage((R) builder.build());
} catch (Exception e) {
- LOG.error("handle json generic request is error", e);
throw
Status.INTERNAL.withDescription(e.getMessage()).asRuntimeException();
}
}
diff --git
a/shenyu-client/shenyu-client-http/shenyu-client-springcloud/src/main/java/org/apache/shenyu/client/springcloud/init/SpringCloudClientEventListener.java
b/shenyu-client/shenyu-client-http/shenyu-client-springcloud/src/main/java/org/apache/shenyu/client/springcloud/init/SpringCloudClientEventListener.java
index 3742e4048..2f47c8682 100644
---
a/shenyu-client/shenyu-client-http/shenyu-client-springcloud/src/main/java/org/apache/shenyu/client/springcloud/init/SpringCloudClientEventListener.java
+++
b/shenyu-client/shenyu-client-http/shenyu-client-springcloud/src/main/java/org/apache/shenyu/client/springcloud/init/SpringCloudClientEventListener.java
@@ -50,6 +50,7 @@ import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -128,7 +129,7 @@ public class SpringCloudClientEventListener extends
AbstractContextRefreshedEven
.enabled(true)
.ruleName(getContextPath())
.build());
- return null;
+ return Collections.emptyMap();
}
return context.getBeansWithAnnotation(Controller.class);
}
diff --git
a/shenyu-client/shenyu-client-http/shenyu-client-springmvc/src/main/java/org/apache/shenyu/client/springmvc/init/SpringMvcClientEventListener.java
b/shenyu-client/shenyu-client-http/shenyu-client-springmvc/src/main/java/org/apache/shenyu/client/springmvc/init/SpringMvcClientEventListener.java
index 26af119f6..13228c80b 100644
---
a/shenyu-client/shenyu-client-http/shenyu-client-springmvc/src/main/java/org/apache/shenyu/client/springmvc/init/SpringMvcClientEventListener.java
+++
b/shenyu-client/shenyu-client-http/shenyu-client-springmvc/src/main/java/org/apache/shenyu/client/springmvc/init/SpringMvcClientEventListener.java
@@ -48,6 +48,7 @@ import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -118,7 +119,7 @@ public class SpringMvcClientEventListener extends
AbstractContextRefreshedEventL
.enabled(true)
.ruleName(getContextPath())
.build());
- return null;
+ return Collections.emptyMap();
}
return context.getBeansWithAnnotation(Controller.class);
}
diff --git
a/shenyu-client/shenyu-client-websocket/shenyu-client-spring-websocket/src/main/java/org/apache/shenyu/client/spring/websocket/init/SpringWebSocketClientEventListener.java
b/shenyu-client/shenyu-client-websocket/shenyu-client-spring-websocket/src/main/java/org/apache/shenyu/client/spring/websocket/init/SpringWebSocketClientEventListener.java
index 2581906d3..25f04ba65 100644
---
a/shenyu-client/shenyu-client-websocket/shenyu-client-spring-websocket/src/main/java/org/apache/shenyu/client/spring/websocket/init/SpringWebSocketClientEventListener.java
+++
b/shenyu-client/shenyu-client-websocket/shenyu-client-spring-websocket/src/main/java/org/apache/shenyu/client/spring/websocket/init/SpringWebSocketClientEventListener.java
@@ -106,8 +106,7 @@ public class SpringWebSocketClientEventListener extends
AbstractContextRefreshed
Map<String, Object> endpointBeans =
context.getBeansWithAnnotation(ShenyuServerEndpoint.class);
registerEndpointsBeans(context, endpointBeans);
- Map<String, Object> clientBeans =
context.getBeansWithAnnotation(ShenyuSpringWebSocketClient.class);
- return clientBeans;
+ return
context.getBeansWithAnnotation(ShenyuSpringWebSocketClient.class);
}
@Override
@@ -146,7 +145,7 @@ public class SpringWebSocketClientEventListener extends
AbstractContextRefreshed
}
@Override
- protected String buildApiSuperPath(final Class<?> clazz, @NonNull final
ShenyuSpringWebSocketClient webSocketClient) {
+ protected String buildApiSuperPath(final Class<?> clazz, final
ShenyuSpringWebSocketClient webSocketClient) {
if (Objects.nonNull(webSocketClient) &&
StringUtils.isNotBlank(webSocketClient.path())) {
return webSocketClient.path();
}
@@ -183,7 +182,7 @@ public class SpringWebSocketClientEventListener extends
AbstractContextRefreshed
}
@Override
- protected String buildApiPath(final Method method, final String superPath,
@NonNull final ShenyuSpringWebSocketClient methodShenyuClient) {
+ protected String buildApiPath(final Method method, final String superPath,
final ShenyuSpringWebSocketClient methodShenyuClient) {
if (Objects.nonNull(methodShenyuClient) &&
StringUtils.isNotBlank(methodShenyuClient.path())) {
return pathJoin(getContextPath(), superPath,
methodShenyuClient.path());
}