Spring DM will set the TCCL with the bundle that has the camel context.
Is there any code in the Thaler API OSGI Bundle that reset the TCCL ?
BTW, I don't think switch to the Karaf can resolve the issue that you faced.
The Thaler bundle is party 3th party code, so I don't know exactly what happens there. I know it is a JCA library.
But, even when the Thaler bundle does change the TCCL I don't see how that can affect the Param bundle? Even when the Thaler bundle set a different TCCL it will not be the Spring DM bundle classloader. Also, how could the Thaler bundle change the TCCL of a Param bundle thread?
I do know for a fact that Param does not change the TCCL, this bundle is 100% own code and standard Fuse ESB bundles.
Do you think using blueprint instead of Spring would help?
What about when the Param bundle calls a method of the Thaler bundle, the method changes TCCL and never reset the TCCL back?
In this case you have to set the TCCL back in the Param bundle if you can not change the codes of Thaler bundle.
As indicated in the original message, the bundles are totally independent. The bundles do not call methods from each other. I'm 100% sure about this, because when I deploy a single bundles each of them work perfectly.