[SCB-2625] use clazz.getDeclaredConstructor().newInstance() instead of clazz.newInstance() (#3162)

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 78c3d7f..c5d8693 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 @@
       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 eb8d205..c823ce3 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 @@
     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 5b65bf7..f434818 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 @@
       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 63a3b9c..ecedf26 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 <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 723ec0a..4cee687 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 @@
         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 bec5467..4c11664 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 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 a6b55c8..4abe85c 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 @@
   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 d5ee0f6..291d0cd 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 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 b1c8df2..e0900da 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 @@
   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 66075af..3b4778f 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 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 fd9db2f..b3890ef 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 @@
 
   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);