Did you put your jar in the bootstrap class loader (in your jbi descriptor) ?
Not only in the runtime class loader ?

Cheers,
Guillaume Nodet

On 4/28/06, Hossam Karim <[EMAIL PROTECTED]> wrote:
> BTW, I set the bean reader to use the component's class loader, but still
> Spring can't find the class.
>
> On 4/28/06, Hossam Karim <[EMAIL PROTECTED]> wrote:
> >
> > Thanks Guillaume and congratulations,
> >
> > OK, then. I am not going to argue about why this is not the case in the
> > JBoss environment since it is not supported.
> > Now I moved the shared code to the lib directory, so the Bootstrap is
> > initialized. The component implementation base class is also in this shared
> > code, I am trying to load some beans from the shared code, and the bean
> > class comes with the component installation artifact, so I am asking the JBI
> > class loader to load resources available only to the component class loader
> > which is also NOT JBI complaint, right?
> > Do you suggest a solution for this?
> >
> > INFO - AbstractBootstrapAdapter.init(17) | init
> > INFO - AbstractBootstrapAdapter.onInstall(30) | onInstall
> > INFO - AbstractBootstrapAdapter.cleanUp(21) | cleanUp
> > INFO - ComponentMBeanImpl.start(206) | Starting component:
> > com.gaiati.jbi.component.csi.CsiBinding
> > INFO - ComponentMBeanImpl.init(184) | Initializing component:
> > com.gaiati.jbi.component.csi.CsiBinding
> > INFO - AbstractComponentAdapter.getLifeCycle (35) | getLifeCycle
> > INFO - AbstractComponentAdapter.init(45) | init
> > ERROR - ComponentMBeanImpl.start(215) | Could not start component
> > org.springframework.beans.factory.BeanDefinitionStoreException: Error
> > registering bean with name 'serviceUnitManager' defined in resource loaded
> > through InputStream: Bean class
> > com.gaiati.jbi.component.csi.CsiServiceUnitManager] not found; nested
> > exception is java.lang.ClassNotFoundException:
> > com.gaiati.jbi.component.csi.CsiServiceUnitManager
> > java.lang.ClassNotFoundException:
> > com.gaiati.jbi.component.csi.CsiServiceUnitManager
> >         at
> > org.apache.servicemix.jbi.loaders.ParentFirstClassLoader.loadClass(
> > ParentFirstClassLoader.java:83)
> >
> >         at
> > org.apache.servicemix.jbi.loaders.InstallationClassLoader.loadClass(
> > InstallationClassLoader.java :99)
> >         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
> >         at java.lang.Class.forName0(Native Method)
> >         at java.lang.Class.forName(Class.java:242)
> >         at org.springframework.util.ClassUtils.forName (ClassUtils.java
> > :108)
> >         at
> > org.springframework.beans.factory.support.BeanDefinitionReaderUtils.createBeanDefinition
> > (BeanDefinitionReaderUtils.java:65)
> >         at
> > org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinitionElement(
> > DefaultXmlBeanDefinitionParser.java:426)
> >         at
> > org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinitionElement
> > (DefaultXmlBeanDefinitionParser.java:392)
> >         at
> > org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinitions(
> > DefaultXmlBeanDefinitionParser.java:307)
> >         at
> > org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.registerBeanDefinitions
> > (DefaultXmlBeanDefinitionParser.java:191)
> >         at
> > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(
> > XmlBeanDefinitionReader.java:295)
> >         at
> > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions
> > (XmlBeanDefinitionReader.java:223)
> >         at
> > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(
> > XmlBeanDefinitionReader.java:173)
> >         at
> > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions
> > (XmlBeanDefinitionReader.java:148)
> >         at com.gaiati.jbi.component.support.AbstractComponentAdapter.init(
> > AbstractComponentAdapter.java:60)
> >         at org.apache.servicemix.jbi.framework.ComponentMBeanImpl.init(
> > ComponentMBeanImpl.java:192)
> >         at org.apache.servicemix.jbi.framework.ComponentMBeanImpl.doStart(
> > ComponentMBeanImpl.java :279)
> >         at org.apache.servicemix.jbi.framework.ComponentMBeanImpl.start(
> > ComponentMBeanImpl.java:208)
> >         at org.apache.servicemix.jbi.framework.InstallationService.install
> > (InstallationService.java:377)
> >
> >         at org.apache.servicemix.jbi.framework.InstallationService.install
> > (InstallationService.java:342)
> >         at
> > org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(
> > AutoDeploymentService.java:220)
> >         at org.apache.servicemix.jbi.framework.AutoDeploymentService$2.run
> > (AutoDeploymentService.java:507)
> >         at org.apache.geronimo.connector.work.WorkerContext.run(
> > WorkerContext.java:291)
> >         at 
> > EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source)
> >         at java.lang.Thread.run(Thread.java:595)
> >
> > On 4/28/06, Guillaume Nodet <[EMAIL PROTECTED] > wrote:
> > >
> > > AFAIK, this is not JBI compliant.
> > > See section 7.3 of the jbi spec.
> > >
> > > Cheers,
> > > Guillaume Nodet
> > >
> > > On 4/28/06, Hossam Karim <[EMAIL PROTECTED]> wrote:
> > > > Hi All,
> > > >   I have a class loading problem that is only happening when running
> > > SM in
> > > > standalone mode. When SM is hosted inside JBoss, there is no problem.
> > > > The situation is like this:
> > > > I have component with its Bootstrap implementation class extending a
> > > class
> > > > in an installed shared library. The component is referencing the
> > > shared
> > > > library in its deployment descriptor. I install the shared library
> > > first
> > > > then install the component, NoClassDefFoundError exception is thrown
> > > upon
> > > > installation.
> > > >
> > > > Here is the trace:
> > > >
> > > > INFO - AutoDeploymentService$2.run(504) | Directory: install: Archive
> > > > changed: processing csi-0.1.jar ...
> > > > ERROR - InstallationService.initializeInstaller(528) | Deployment of
> > > > Component failed
> > > > java.lang.NoClassDefFoundError:
> > > > com/gaiati/jbi/component/support/AbstractBootstrapAdapter
> > > >         at java.lang.ClassLoader.defineClass1(Native Method)
> > > >         at java.lang.ClassLoader.defineClass (ClassLoader.java:620)
> > > >         at java.security.SecureClassLoader.defineClass(
> > > > SecureClassLoader.java:124)
> > > >         at java.net.URLClassLoader.defineClass(URLClassLoader.java
> > > :260)
> > > >         at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
> > > >         at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
> > > >         at java.security.AccessController.doPrivileged(Native Method)
> > > >         at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> > > >         at
> > > > org.apache.servicemix.jbi.loaders.InstallationClassLoader.findClass(
> > > > InstallationClassLoader.java:88)
> > > >         at
> > > > org.apache.servicemix.jbi.loaders.ParentFirstClassLoader.loadClass(
> > > > ParentFirstClassLoader.java:74)
> > > >         at
> > > > org.apache.servicemix.jbi.loaders.InstallationClassLoader.loadClass(
> > > > InstallationClassLoader.java :99)
> > > >         at
> > > > org.apache.servicemix.jbi.framework.InstallerMBeanImpl.createBootstrap
> > > (
> > > > InstallerMBeanImpl.java:84)
> > > >         at 
> > > > org.apache.servicemix.jbi.framework.InstallerMBeanImpl.<init>(
> > >
> > > > InstallerMBeanImpl.java:74)
> > > >         at
> > > >
> > > org.apache.servicemix.jbi.framework.InstallationService.initializeInstaller
> > > (
> > > > InstallationService.java:520)
> > > >         at
> > > >
> > > org.apache.servicemix.jbi.framework.InstallationService.doInstallComponent(
> > > > InstallationService.java:475)
> > > >         at
> > > >
> > > org.apache.servicemix.jbi.framework.InstallationService.doInstallArchive
> > > (
> > > > InstallationService.java:427)
> > > >         at
> > > org.apache.servicemix.jbi.framework.InstallationService.install (
> > > > InstallationService.java:349)
> > > >         at
> > > org.apache.servicemix.jbi.framework.InstallationService.install(
> > > > InstallationService.java:342)
> > > >         at
> > > >
> > > org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(
> > > > AutoDeploymentService.java:220)
> > > >         at
> > > org.apache.servicemix.jbi.framework.AutoDeploymentService$2.run(
> > > > AutoDeploymentService.java:507)
> > > >         at org.apache.geronimo.connector.work.WorkerContext.run (
> > > > WorkerContext.java:291)
> > > >         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run
> > > (Unknown
> > > > Source)
> > > >         at java.lang.Thread.run(Thread.java:595)
> > > >
> > > > Any thoughts?
> > > >
> > > >
> > >
> >
> >
>
>

Reply via email to