On 7/31/06, Ramon Buckland <[EMAIL PROTECTED]> wrote:
Hi peoples, Just wondering if someone could explain the ServiceMix classloading structure. We notice it uses classworlds in standalone (run from commandline mode). How does this happen when run from the JBoss deployer ? Is classworlds involved then also ?
No. We have been having a few funnies happening with some classes needed
by a 3rd party vendor and are trying to nut out the problem with them and were hoping someone could shed some light on .. Classloading regarding SA's, Shared Libs and SU's The servicemix.xml <classpath> xml construct. lib lib/optional The JBoss deployer (and the above items), and what should be in the SAR ?
When running ServiceMix standalone, the classpath is built using: * lib/*.jar * lib/optional/*.jar * conf This is the container classloader. All jbi artifacts classloaders follow the JBI rules (see section 7.3, pages 103 + from the JBI spec). All components and shared libraries classloaders are built according to the jbi descriptor, and have the container classloader as a parent. For SUs, it is up to the component, but the classloader is usually the same as the component one. It can be modified when using xbean deployments using <classpath/> tag. In such a case, the urls are used to create a new classloader, with the component classloader as a parent. For the JBoss deployer, the same thing happen. The difference is in the way the container classloader is created. It uses the JBoss mechanism and so the classloader includes all jars in the SAR file. Once a good set of answers is formulated, I'll get the details onto the web. Cool, thx. Thanks
ramon
-- Cheers, Guillaume Nodet
