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