Folks,
In the past 2 days, I have run into classloading failures with both the BPEL runtime module and with
the Axis2 WS Binding module.
Since these failures did not occur in code previously, I assume that there has been some significant
change in the handling of classloaders in the 2.x stream recently. I'd be grateful if someone could
explain what changes have been made. I'd also like to pose the question as to why the failures have
not been picked up by any testcases?
The problem appears to be with 3rd party code that use the Thread Context ClassLoader to load
classes. The symptom is that we get class not found errors since under OSGi the bulk of our code is
loaded with OSGi classloaders and the TCCL in the recent builds seems to be the app class loader.
I fixed the BPEL code by forcing the TCCL to be the OSGI Bundle ClassLoader used for loading the
BPEL runtime module classes, in EmbeddedODEServer.init().
I fixed the Axis client code by a similar means of forcing the TCCL to be the OSGi Bundle
ClassLoader, in Axis2ServiceClient.createServiceClient().
Yours, Mike.
- [2.x] Classloading Failures running under OSGi with recent co... Mike Edwards
-