This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
     new 1e29228be [SCB-2625] use clazz.getDeclaredConstructor().newInstance() 
instead of clazz.newInstance() (#3162)
1e29228be is described below

commit 1e29228be035fb669561d18b0763e35b815a73ac
Author: david6969xin <[email protected]>
AuthorDate: Thu Jun 30 10:50:05 2022 +0800

    [SCB-2625] use clazz.getDeclaredConstructor().newInstance() instead of 
clazz.newInstance() (#3162)
---
 .../common/rest/codec/produce/ProduceProcessorManager.java            | 2 +-
 .../org/apache/servicecomb/core/handler/AbstractHandlerManager.java   | 2 +-
 .../servicecomb/foundation/common/spring/PaasNamespaceHandler.java    | 4 ++--
 .../org/apache/servicecomb/config/priority/ConfigObjectFactory.java   | 2 +-
 .../apache/servicecomb/registry/config/AbstractPropertiesLoader.java  | 4 ++--
 .../main/java/org/apache/servicecomb/foundation/ssl/SSLCustom.java    | 4 ++--
 .../java/org/apache/servicecomb/foundation/ssl/SSLOptionFactory.java  | 4 ++--
 .../servicecomb/provider/pojo/instance/PojoInstanceFactory.java       | 2 +-
 .../java/org/apache/servicecomb/swagger/converter/ConverterMgr.java   | 2 +-
 .../invocation/arguments/producer/ProducerBeanParamMapper.java        | 2 +-
 .../servicecomb/transport/rest/client/RestTransportClientManager.java | 2 +-
 11 files changed, 15 insertions(+), 15 deletions(-)

diff --git 
a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/produce/ProduceProcessorManager.java
 
b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/produce/ProduceProcessorManager.java
index 78c3d7f3a..c5d8693b3 100644
--- 
a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/produce/ProduceProcessorManager.java
+++ 
b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/produce/ProduceProcessorManager.java
@@ -68,7 +68,7 @@ public final class ProduceProcessorManager extends 
RegisterManager<String, Map<S
       Map<String, ProduceProcessor> produceViewMap) {
     ProduceProcessor newInstance;
     try {
-      newInstance = 
produceViewMap.get(DEFAULT_SERIAL_CLASS).getClass().newInstance();
+      newInstance = 
produceViewMap.get(DEFAULT_SERIAL_CLASS).getClass().getDeclaredConstructor().newInstance();
       newInstance.setSerializationView(serialViewClass);
       return newInstance;
     } catch (Throwable e) {
diff --git 
a/core/src/main/java/org/apache/servicecomb/core/handler/AbstractHandlerManager.java
 
b/core/src/main/java/org/apache/servicecomb/core/handler/AbstractHandlerManager.java
index eb8d205f9..c823ce3e6 100644
--- 
a/core/src/main/java/org/apache/servicecomb/core/handler/AbstractHandlerManager.java
+++ 
b/core/src/main/java/org/apache/servicecomb/core/handler/AbstractHandlerManager.java
@@ -93,7 +93,7 @@ public abstract class AbstractHandlerManager extends 
AbstractObjectManager<Strin
     List<Handler> handlerList = new ArrayList<>();
     for (Class<Handler> cls : chainClasses) {
       try {
-        handlerList.add(cls.newInstance());
+        handlerList.add(cls.getDeclaredConstructor().newInstance());
       } catch (Exception e) {
         // 在启动阶段直接抛异常出来
         throw new Error(e);
diff --git 
a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/spring/PaasNamespaceHandler.java
 
b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/spring/PaasNamespaceHandler.java
index 5b65bf7ed..f434818df 100644
--- 
a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/spring/PaasNamespaceHandler.java
+++ 
b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/spring/PaasNamespaceHandler.java
@@ -50,10 +50,10 @@ public class PaasNamespaceHandler extends 
NamespaceHandlerSupport {
       String className = entry.getValue().toString();
       try {
         Class<?> clazz = Class.forName(className);
-        Object instance = clazz.newInstance();
+        Object instance = clazz.getDeclaredConstructor().newInstance();
         registerBeanDefinitionParser(entry.getKey().toString(),
             (BeanDefinitionParser) instance);
-      } catch (ClassNotFoundException | InstantiationException | 
IllegalAccessException e) {
+      } catch (ReflectiveOperationException e) {
         // 类找不到,说明没部署相应的jar包,这不一定是错误
         // 可能是业务就选择不部署相应的jar包
         // 所以只是打印个info日志
diff --git 
a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/priority/ConfigObjectFactory.java
 
b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/priority/ConfigObjectFactory.java
index 63a3b9cdc..ecedf2648 100644
--- 
a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/priority/ConfigObjectFactory.java
+++ 
b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/priority/ConfigObjectFactory.java
@@ -56,7 +56,7 @@ public class ConfigObjectFactory {
 
   public <T> ConfigObject<T> create(Class<T> cls, Map<String, Object> 
parameters) {
     try {
-      return create(cls.newInstance(), parameters);
+      return create(cls.getDeclaredConstructor().newInstance(), parameters);
     } catch (Throwable e) {
       throw new IllegalStateException("create config object failed, class=" + 
cls.getName(), e);
     }
diff --git 
a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/config/AbstractPropertiesLoader.java
 
b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/config/AbstractPropertiesLoader.java
index 723ec0a5b..4cee6875f 100644
--- 
a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/config/AbstractPropertiesLoader.java
+++ 
b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/config/AbstractPropertiesLoader.java
@@ -65,12 +65,12 @@ public abstract class AbstractPropertiesLoader {
         throw new Error(errMsg);
       }
 
-      PropertyExtended instance = (PropertyExtended) 
classExternalProperty.newInstance();
+      PropertyExtended instance = (PropertyExtended) 
classExternalProperty.getDeclaredConstructor().newInstance();
       Map<String, String> extendedPropertiesMap = 
instance.getExtendedProperties();
       if (extendedPropertiesMap != null && !extendedPropertiesMap.isEmpty()) {
         propertiesMap.putAll(extendedPropertiesMap);
       }
-    } catch (ClassNotFoundException | InstantiationException | 
IllegalAccessException e) {
+    } catch (ReflectiveOperationException e) {
       String errMsg = "Fail to create instance of class: " + 
extendedPropertyClass;
       LOGGER.error(errMsg);
       throw new Error(errMsg, e);
diff --git 
a/foundations/foundation-ssl/src/main/java/org/apache/servicecomb/foundation/ssl/SSLCustom.java
 
b/foundations/foundation-ssl/src/main/java/org/apache/servicecomb/foundation/ssl/SSLCustom.java
index bec546792..4c116649d 100644
--- 
a/foundations/foundation-ssl/src/main/java/org/apache/servicecomb/foundation/ssl/SSLCustom.java
+++ 
b/foundations/foundation-ssl/src/main/java/org/apache/servicecomb/foundation/ssl/SSLCustom.java
@@ -45,9 +45,9 @@ public abstract class SSLCustom {
   public static SSLCustom createSSLCustom(String name) {
     try {
       if (name != null && !name.isEmpty()) {
-        return (SSLCustom) Class.forName(name).newInstance();
+        return (SSLCustom) 
Class.forName(name).getDeclaredConstructor().newInstance();
       }
-    } catch (InstantiationException | IllegalAccessException | 
ClassNotFoundException e) {
+    } catch (ReflectiveOperationException e) {
       LOG.warn("init SSLCustom class failed, name is " + name);
     }
     return defaultSSLCustom();
diff --git 
a/foundations/foundation-ssl/src/main/java/org/apache/servicecomb/foundation/ssl/SSLOptionFactory.java
 
b/foundations/foundation-ssl/src/main/java/org/apache/servicecomb/foundation/ssl/SSLOptionFactory.java
index a6b55c8d9..4abe85ca6 100644
--- 
a/foundations/foundation-ssl/src/main/java/org/apache/servicecomb/foundation/ssl/SSLOptionFactory.java
+++ 
b/foundations/foundation-ssl/src/main/java/org/apache/servicecomb/foundation/ssl/SSLOptionFactory.java
@@ -31,8 +31,8 @@ public interface SSLOptionFactory {
   static SSLOptionFactory createSSLOptionFactory(String className) {
     if (className != null && !className.isEmpty()) {
       try {
-        return (SSLOptionFactory) Class.forName(className).newInstance();
-      } catch (InstantiationException | IllegalAccessException | 
ClassNotFoundException e) {
+        return (SSLOptionFactory) 
Class.forName(className).getDeclaredConstructor().newInstance();
+      } catch (ReflectiveOperationException e) {
         throw new IllegalStateException("Failed to create SSLOptionFactory.", 
e);
       }
     }
diff --git 
a/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/instance/PojoInstanceFactory.java
 
b/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/instance/PojoInstanceFactory.java
index d5ee0f619..291d0cdc9 100644
--- 
a/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/instance/PojoInstanceFactory.java
+++ 
b/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/instance/PojoInstanceFactory.java
@@ -30,7 +30,7 @@ public class PojoInstanceFactory implements InstanceFactory {
   public Object create(String className) {
     try {
       Class<?> clazz = Class.forName(className);
-      return clazz.newInstance();
+      return clazz.getDeclaredConstructor().newInstance();
     } catch (Exception e) {
       throw new Error("Fail to create instance of class:" + className, e);
     }
diff --git 
a/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/ConverterMgr.java
 
b/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/ConverterMgr.java
index b1c8df2ca..e0900daeb 100644
--- 
a/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/ConverterMgr.java
+++ 
b/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/ConverterMgr.java
@@ -90,7 +90,7 @@ public final class ConverterMgr {
   private static void initTypeFormatMap() {
     try {
       for (Entry<Class<? extends Property>, JavaType> entry : 
PROPERTY_MAP.entrySet()) {
-        Property property = entry.getKey().newInstance();
+        Property property = 
entry.getKey().getDeclaredConstructor().newInstance();
         String key = genTypeFormatKey(property.getType(), 
property.getFormat());
         TYPE_FORMAT_MAP.put(key, entry.getValue());
       }
diff --git 
a/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/producer/ProducerBeanParamMapper.java
 
b/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/producer/ProducerBeanParamMapper.java
index 66075af17..3b4778f77 100644
--- 
a/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/producer/ProducerBeanParamMapper.java
+++ 
b/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/producer/ProducerBeanParamMapper.java
@@ -55,7 +55,7 @@ public class ProducerBeanParamMapper extends 
ProducerArgumentMapper {
   public void swaggerArgumentToInvocationArguments(SwaggerInvocation 
invocation,
       Map<String, Object> swaggerArguments, Map<String, Object> 
invocationArguments) {
     try {
-      Object paramInstance = producerParamType.newInstance();
+      Object paramInstance = 
producerParamType.getDeclaredConstructor().newInstance();
       invocationArguments.put(invocationArgumentName, paramInstance);
 
       for (FieldMeta fieldMeta : fields) {
diff --git 
a/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/RestTransportClientManager.java
 
b/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/RestTransportClientManager.java
index fd9db2f5f..b3890ef31 100644
--- 
a/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/RestTransportClientManager.java
+++ 
b/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/RestTransportClientManager.java
@@ -31,7 +31,7 @@ public final class RestTransportClientManager {
 
   private RestTransportClientManager() {
     try {
-      restClient = 
TransportClientConfig.getRestTransportClientCls().newInstance();
+      restClient = 
TransportClientConfig.getRestTransportClientCls().getDeclaredConstructor().newInstance();
       restClient.init(transportVertx);
     } catch (Exception e) {
       throw new IllegalStateException("Failed to init RestTransportClient.", 
e);

Reply via email to