Hi,
I'm looking at the changes for CXF-3497 as it seems I've a regression
because of that.
As far as I understand, the ClassLoader that was used to create the bus
application context is stored within the bus as an extension.
Given the same extension is then later retrieved in
ClientImpl::doInvoke(..) and used (when available) to override the
current thread classloader, each client using that bus ends up using
that specific classloader. While I won't probably object to this
behaviour, this seems to me a major change to the default behaviour for
the user, am I wrong / missing something? It might be worth documenting
/ applying in 2.4.x only?
Cheers
Alessio
On 05/06/2011 12:30 PM, [email protected] wrote:
Author: ningjiang
Date: Fri May 6 10:30:54 2011
New Revision: 1100162
URL: http://svn.apache.org/viewvc?rev=1100162&view=rev
Log:
CXF-3497 Set the ClassLoader Extension when the bus is load from Spring
Modified:
cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBus.java
Modified:
cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBus.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBus.java?rev=1100162&r1=1100161&r2=1100162&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBus.java
(original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBus.java
Fri May 6 10:30:54 2011
@@ -57,6 +57,10 @@ public class SpringBus extends Extension
}
ac = ac.getParent();
}
+
+ // set the classLoader extension with the application context
classLoader
+ setExtension(applicationContext.getClassLoader(), ClassLoader.class);
+
setExtension(new ConfigurerImpl(applicationContext),
Configurer.class);
ResourceManager m = getExtension(ResourceManager.class);
--
Alessio Soldano
Web Service Lead, JBoss