This closes #2416
This commit is contained in:
commit
ea2bd92755
|
@ -35,7 +35,11 @@ public final class ClassloadingUtil {
|
|||
private static final String INSTANTIATION_EXCEPTION_MESSAGE = "Your class must have a constructor without arguments. If it is an inner class, it must be static!";
|
||||
|
||||
public static Object newInstanceFromClassLoader(final String className) {
|
||||
ClassLoader loader = ClassloadingUtil.class.getClassLoader();
|
||||
return newInstanceFromClassLoader(ClassloadingUtil.class, className);
|
||||
}
|
||||
|
||||
public static Object newInstanceFromClassLoader(final Class<?> classOwner, final String className) {
|
||||
ClassLoader loader = classOwner.getClassLoader();
|
||||
try {
|
||||
Class<?> clazz = loader.loadClass(className);
|
||||
return clazz.newInstance();
|
||||
|
@ -60,7 +64,11 @@ public final class ClassloadingUtil {
|
|||
}
|
||||
|
||||
public static Object newInstanceFromClassLoader(final String className, Object... objs) {
|
||||
ClassLoader loader = ClassloadingUtil.class.getClassLoader();
|
||||
return newInstanceFromClassLoader(ClassloadingUtil.class, className, objs);
|
||||
}
|
||||
|
||||
public static Object newInstanceFromClassLoader(final Class<?> classOwner, final String className, Object... objs) {
|
||||
ClassLoader loader = classOwner.getClassLoader();
|
||||
try {
|
||||
Class<?>[] parametersType = new Class<?>[objs.length];
|
||||
for (int i = 0; i < objs.length; i++) {
|
||||
|
|
|
@ -982,7 +982,7 @@ public class ClientSessionFactoryImpl implements ClientSessionFactoryInternal, C
|
|||
return AccessController.doPrivileged(new PrivilegedAction<ConnectorFactory>() {
|
||||
@Override
|
||||
public ConnectorFactory run() {
|
||||
return (ConnectorFactory) ClassloadingUtil.newInstanceFromClassLoader(connectorFactoryClassName);
|
||||
return (ConnectorFactory) ClassloadingUtil.newInstanceFromClassLoader(ClientSessionFactoryImpl.class, connectorFactoryClassName);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -278,8 +278,8 @@ public final class ServerLocatorImpl implements ServerLocatorInternal, Discovery
|
|||
AccessController.doPrivileged(new PrivilegedAction<Object>() {
|
||||
@Override
|
||||
public Object run() {
|
||||
loadBalancingPolicy = (ConnectionLoadBalancingPolicy) ClassloadingUtil.newInstanceFromClassLoader(connectionLoadBalancingPolicyClassName);
|
||||
return null;
|
||||
loadBalancingPolicy = (ConnectionLoadBalancingPolicy) ClassloadingUtil.newInstanceFromClassLoader(ServerLocatorImpl.class, connectionLoadBalancingPolicyClassName);
|
||||
return null;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -1888,7 +1888,7 @@ public final class ServerLocatorImpl implements ServerLocatorInternal, Discovery
|
|||
|
||||
String[] arrayInterceptor = interceptorList.split(",");
|
||||
for (String strValue : arrayInterceptor) {
|
||||
Interceptor interceptor = (Interceptor) ClassloadingUtil.newInstanceFromClassLoader(strValue.trim());
|
||||
Interceptor interceptor = (Interceptor) ClassloadingUtil.newInstanceFromClassLoader(ServerLocatorImpl.class, strValue.trim());
|
||||
interceptors.add(interceptor);
|
||||
}
|
||||
return null;
|
||||
|
|
|
@ -65,7 +65,7 @@ public class TransportConfigurationUtil {
|
|||
@Override
|
||||
public Object run() {
|
||||
try {
|
||||
return ClassloadingUtil.newInstanceFromClassLoader(className);
|
||||
return ClassloadingUtil.newInstanceFromClassLoader(TransportConfigurationUtil.class, className);
|
||||
} catch (IllegalStateException e) {
|
||||
return null;
|
||||
}
|
||||
|
|
|
@ -152,7 +152,7 @@ public class ActiveMQConnectionFactory extends JNDIStorable implements Connectio
|
|||
AccessController.doPrivileged(new PrivilegedAction<Object>() {
|
||||
@Override
|
||||
public Object run() {
|
||||
ClientProtocolManagerFactory protocolManagerFactory = (ClientProtocolManagerFactory) ClassloadingUtil.newInstanceFromClassLoader(protocolManagerFactoryStr);
|
||||
ClientProtocolManagerFactory protocolManagerFactory = (ClientProtocolManagerFactory) ClassloadingUtil.newInstanceFromClassLoader(ActiveMQConnectionFactory.class, protocolManagerFactoryStr);
|
||||
serverLocator.setProtocolManagerFactory(protocolManagerFactory);
|
||||
return null;
|
||||
}
|
||||
|
|
|
@ -723,7 +723,7 @@ public final class FileConfigurationParser extends XMLConfigurationUtil {
|
|||
ActiveMQServerPlugin serverPlugin = AccessController.doPrivileged(new PrivilegedAction<ActiveMQServerPlugin>() {
|
||||
@Override
|
||||
public ActiveMQServerPlugin run() {
|
||||
return (ActiveMQServerPlugin) ClassloadingUtil.newInstanceFromClassLoader(clazz);
|
||||
return (ActiveMQServerPlugin) ClassloadingUtil.newInstanceFromClassLoader(FileConfigurationParser.class, clazz);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -926,7 +926,7 @@ public final class FileConfigurationParser extends XMLConfigurationUtil {
|
|||
SecuritySettingPlugin securitySettingPlugin = AccessController.doPrivileged(new PrivilegedAction<SecuritySettingPlugin>() {
|
||||
@Override
|
||||
public SecuritySettingPlugin run() {
|
||||
return (SecuritySettingPlugin) ClassloadingUtil.newInstanceFromClassLoader(clazz);
|
||||
return (SecuritySettingPlugin) ClassloadingUtil.newInstanceFromClassLoader(FileConfigurationParser.class, clazz);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in New Issue