Here is the stacktrace:
<loc-message>Unexpected exception parsing XML document from file
[/usr/local/java/apache-servicemix-3.3/data/smx/service-assemblies/adapter-pc-PCService-1/ve
rsion_1/sus/servicemix-jsr181/adapter-pc-jsr181-su/applicationContext.xml];
nested exception is java.lang.NoClassDefFoundError:
com/ibatis/sqlmap/client/SqlMapClient</loc-message>
<stack-trace><![CDATA[org.springframework.beans.factory.BeanDefinitionStoreException:
Unexpected exception parsing XML document from file [/usr/local/java/ap
ache-servicemix-3.3/data/smx/service-assemblies/adapter-pc-PCService-1/version_1/sus/servicemix-jsr181/adapter-pc-jsr181-su/applicationContext.xml];
nested exception is java.lang.NoClassDefFoundErr
or: com/ibatis/sqlmap/client/SqlMapClient
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:420)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
at
org.apache.xbean.spring.context.v2.XBeanBeanDefinitionDocumentReader.importBeanDefinitionResource(XBeanBeanDefinitionDocumentReader.java:129)
at
org.apache.xbean.spring.context.v2.XBeanBeanDefinitionDocumentReader.parseDefaultElement(XBeanBeanDefinitionDocumentReader.java:95)
at
org.apache.xbean.spring.context.v2.XBeanBeanDefinitionDocumentReader.parseBeanDefinitions(XBeanBeanDefinitionDocumentReader.java:81)
at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:92)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:507)
at
org.apache.xbean.spring.context.v2.XBeanXmlBeanDefinitionReader.registerBeanDefinitions(XBeanXmlBeanDefinitionReader.java:79)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:398)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:212)
at
org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:113)
at
org.apache.xbean.spring.context.FileSystemXmlApplicationContext.loadBeanDefinitions(FileSystemXmlApplicationContext.java:168)
at
org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123)
at
org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:423)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:353)
at
org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:86)
at
org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88)
at
org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)
at
org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly(DeploymentService.java:508)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.checkPendingSAs(AutoDeploymentService.java:482)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateComponent(AutoDeploymentService.java:293)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:252)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:667)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService.java:62)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDeploymentService.java:631)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Caused by: java.lang.NoClassDefFoundError:
com/ibatis/sqlmap/client/SqlMapClient
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
at java.lang.Class.getDeclaredMethods(Class.java:1791)
at java.beans.Introspector$1.run(Introspector.java:1272)
at java.security.AccessController.doPrivileged(Native Method)
at
java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1270)
at
java.beans.Introspector.getTargetMethodInfo(Introspector.java:1136)
at java.beans.Introspector.getBeanInfo(Introspector.java:387)
at java.beans.Introspector.getBeanInfo(Introspector.java:159)
at java.beans.Introspector.getBeanInfo(Introspector.java:220)
at java.beans.Introspector.<init>(Introspector.java:368)
at java.beans.Introspector.getBeanInfo(Introspector.java:159)
at
org.apache.xbean.spring.context.v2c.XBeanQNameHelper.getBeanInfo(XBeanQNameHelper.java:78)
at
org.apache.xbean.spring.context.v2c.XBeanQNameHelper.coerceNamespaceAwarePropertyValues(XBeanQNameHelper.java:54)
at
org.apache.xbean.spring.context.v2c.XBeanBeanDefinitionParserDelegate.parseBeanDefinitionElement(XBeanBeanDefinitionParserDelegate.java:59)
at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:389)
at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:358)
at
org.apache.xbean.spring.context.v2.XBeanBeanDefinitionDocumentReader.processBeanDefinition(XBeanBeanDefinitionDocumentReader.java:174)
at
org.apache.xbean.spring.context.v2.XBeanBeanDefinitionDocumentReader.parseDefaultElement(XBeanBeanDefinitionDocumentReader.java:101)
at
org.apache.xbean.spring.context.v2.XBeanBeanDefinitionDocumentReader.parseBeanDefinitions(XBeanBeanDefinitionDocumentReader.java:81)
at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:92)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:507)
at
org.apache.xbean.spring.context.v2.XBeanXmlBeanDefinitionReader.registerBeanDefinitions(XBeanXmlBeanDefinitionReader.java:79)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:398)
... 32 more
Caused by: java.lang.ClassNotFoundException:
com.ibatis.sqlmap.client.SqlMapClient in classloader
com.ibatis.sqlmap.client.SqlMapClient
at
org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:206)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
As you can see the exception is java.lang.NoClassDefFoundError and it is
raised from ApplicationContext.refresh().
I have ibatis-sqlmap in my dependencies and it is included in SU's lib
derectory.
Regard
Jean-Baptiste Onofré wrote:
>
> I understand Piotr.
>
> Anyway, by default, if you have the dependency in the SU's pom.xml, the
> jar is present
> in the SU classloader.
> For exemple, I have heavily used this behavior with CXF-SE to proxy EJB
> and include
> the EJB's stub in the SU.
>
> Please, could you attach the raised exception (NoClassDefFound or
> ClassNotFound) ?
>
> Thanks
> Regards
> JB
>
> On Friday 09 January 2009 - 12:09, Piotr Jagielski wrote:
>>
>> Hi Jean,
>>
>> I tried adding classpath entry but it doesn't help. I also read in
>> http://servicemix.apache.org/classloaders.html that lib/*.jar are added
>> to
>> SU'a classpath by default - is this correct?
>>
>> Adding ibatis.jar to SMX lib directory of course helps, but I'd prefer to
>> find some better solution. On 3.2.1 it was not necessary to do it.
>>
>> Regards
>>
>>
>> Jean-Baptiste Onofré wrote:
>> >
>> > Hi Piotr
>> >
>> > Do you have ibatis dependency in the SU's pom.xml ?
>> >
>> > Overwise, you can put :
>> > - ibatis.jar in the SMX lib directory (loaded by classworlds)
>> > - add a <classpath/> entry in the xbean.xml
>> >
>> > Regards
>> > JB
>> >
>> >
>> > On Friday 09 January 2009 - 11:48, Piotr Jagielski wrote:
>> >>
>> >> Hi all,
>> >>
>> >> I'm trying to migrate existing services from 3.2.1 to 3.3.
>> >> While deploying SA on 3.3 NoClassDefFoundError occurs while
>> instantiating
>> >> some IBatis references from xbean.xml - which doesn't happen on 3.2.1.
>> I
>> >> have ibatis.jar in SU lib directory.
>> >>
>> >> I searched through code and found some changes in
>> AbstractXbeanDeployer
>> >> in
>> >> 3.3 :
>> >>
>> >> ClassLoader classLoader = component.getClass().getClassLoader();
>> >> Thread.currentThread().setContextClassLoader(classLoader);
>> >> ...
>> >> applicationContext.refresh();
>> >> su.setApplicationContext(applicationContext);
>> >> // Use SU classloader
>> >>
>> Thread.currentThread().setContextClassLoader(su.getConfigurationClassLoader());
>> >> initApplicationContext(applicationContext);
>> >>
>> >> So it looks like refresh() method is called with component's class
>> loader
>> >> and classes from within SU jars are not loaded - and NoClassDefFound
>> is
>> >> raised.
>> >> This problem is related to servicemix-jsr181, IBatis classes on
>> >> servicemix-camel are loaded without errors.
>> >>
>> >> Any suggestions?
>> >>
>> >> Regards,
>> >> Piotr
>> >> --
>> >> View this message in context:
>> >>
>> http://www.nabble.com/SU-deployed-on-servicemix-jsr181-2008.01-couldn%27t-find-classes-from-jars-included-in-SU-lib-directory-tp21379285p21379285.html
>> >> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>> >>
>> >
>> > --
>> > Jean-Baptiste Onofré (Nanthrax)
>> > BuildProcess/AutoDeploy Project Leader
>> > http://buildprocess.sourceforge.net
>> > [email protected]
>> > PGP : 17D4F086
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/SU-deployed-on-servicemix-jsr181-2008.01-couldn%27t-find-classes-from-jars-included-in-SU-lib-directory-tp21379285p21379692.html
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>
> --
> Jean-Baptiste Onofré (Nanthrax)
> BuildProcess/AutoDeploy Project Leader
> http://buildprocess.sourceforge.net
> [email protected]
> PGP : 17D4F086
>
>
--
View this message in context:
http://www.nabble.com/SU-deployed-on-servicemix-jsr181-2008.01-couldn%27t-find-classes-from-jars-included-in-SU-lib-directory-tp21379285p21380549.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.