[jboss-remoting-commits] JBoss Remoting SVN: r5197 - remoting2/branches/2.2/src/main/org/jboss/remoting.
jboss-remoting-commits at lists.jboss.org
jboss-remoting-commits at lists.jboss.org
Tue May 12 01:59:04 EDT 2009
Author: ron.sigal at jboss.com
Date: 2009-05-12 01:59:04 -0400 (Tue, 12 May 2009)
New Revision: 5197
Modified:
remoting2/branches/2.2/src/main/org/jboss/remoting/MicroRemoteClientInvoker.java
Log:
JBREM-1127: Introduced useCurrentThreadClassLoader variable and related behavior.
Modified: remoting2/branches/2.2/src/main/org/jboss/remoting/MicroRemoteClientInvoker.java
===================================================================
--- remoting2/branches/2.2/src/main/org/jboss/remoting/MicroRemoteClientInvoker.java 2009-05-12 05:56:17 UTC (rev 5196)
+++ remoting2/branches/2.2/src/main/org/jboss/remoting/MicroRemoteClientInvoker.java 2009-05-12 05:59:04 UTC (rev 5197)
@@ -43,6 +43,7 @@
private String invokerSessionID = new GUID().toString();
private boolean parentFirstClassLoading = true;
private boolean changeInvalidStateToCannotConnect = false;
+ private boolean useCurrentThreadClassLoader;
public MicroRemoteClientInvoker(InvokerLocator locator)
{
@@ -93,13 +94,27 @@
// and the current thread's class loader. This allows to load remoting classes as well as
// user's classes.
ClassLoader remotingClassLoader = null;
- if (parentFirstClassLoading)
+ if (useCurrentThreadClassLoader)
{
- remotingClassLoader = new RemotingClassLoader(getClassLoader(), Thread.currentThread().getContextClassLoader());
+ if (parentFirstClassLoading)
+ {
+ remotingClassLoader = new RemotingClassLoader(getClassLoader(), null);
+ }
+ else
+ {
+ remotingClassLoader = new RemotingClassLoader(null, getClassLoader());
+ }
}
else
{
- remotingClassLoader = new RemotingClassLoader(Thread.currentThread().getContextClassLoader(), getClassLoader());
+ if (parentFirstClassLoading)
+ {
+ remotingClassLoader = new RemotingClassLoader(getClassLoader(), Thread.currentThread().getContextClassLoader());
+ }
+ else
+ {
+ remotingClassLoader = new RemotingClassLoader(Thread.currentThread().getContextClassLoader(), getClassLoader());
+ }
}
// try by locator (in case unmarshaller class name specified)
@@ -566,6 +581,13 @@
String sflag = flag.toString();
changeInvalidStateToCannotConnect = Boolean.valueOf(sflag).booleanValue();
}
+
+ flag = configuration.get(Remoting.USE_CURRENT_THREAD_CLASS_LOADER);
+ if (flag != null)
+ {
+ String sflag = flag.toString();
+ useCurrentThreadClassLoader = Boolean.valueOf(sflag).booleanValue();
+ }
}
/**
More information about the jboss-remoting-commits
mailing list