Yes, I confirm both. I'll try to prepare tomorrow some test SA which reproduces this issue.
Regards, Piotr Jean-Baptiste Onofré wrote: > > Hi Piotr, > > Do you use standalone SMX (not deployed in a web container) ? > Do you confirm that the dependencies set is in the SU pom.xml (not the SA > one) ? > > Regards > JB > > > On Tuesday 13 January 2009 - 01:26, Piotr Jagielski wrote: >> >> Hello again, >> >> I'll try to add some libraries to servicemix-shared as a workaround for >> this >> problem. >> Any other ideas? >> Should I raise jira issue for it? >> >> Regards, >> Piotr >> >> >> Piotr Jagielski wrote: >> > >> > Problematic fragment of xbean.xml is: >> > >> > <bean id="sqlMapClient" >> > class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> >> > <property name="configLocation" >> > value="classpath:ibatis/sqlmap-config.xml"/> >> > <property name="dataSource" ref="dataSource"/> >> > </bean> >> > >> > And here are dependencies from pom.xml: >> > >> > <dependencies> >> > <dependency> >> > <groupId>org.springframework</groupId> >> > <artifactId>spring-jdbc</artifactId> >> > </dependency> >> > <dependency> >> > <groupId>org.springframework</groupId> >> > <artifactId>spring-orm</artifactId> >> > <exclusions> >> > <exclusion> >> > <groupId>com.ibatis</groupId> >> > <artifactId>ibatis2</artifactId> >> > </exclusion> >> > </exclusions> >> > </dependency> >> > <dependency> >> > <groupId>org.apache.ibatis</groupId> >> > <artifactId>ibatis-sqlmap</artifactId> >> > </dependency> >> > <dependency> >> > <groupId>org.apache.cxf</groupId> >> > <artifactId>cxf-rt-frontend-jaxws</artifactId> >> > <scope>provided</scope> >> > </dependency> >> > <dependency> >> > <groupId>org.apache.cxf</groupId> >> > <artifactId>cxf-rt-transports-http</artifactId> >> > <scope>provided</scope> >> > </dependency> >> > <dependency> >> > <groupId>javax.xml.bind</groupId> >> > <artifactId>jaxb-api</artifactId> >> > </dependency> >> > <dependency> >> > <groupId>javax.xml.ws</groupId> >> > <artifactId>jaxws-api</artifactId> >> > <scope>provided</scope> >> > </dependency> >> > <!-- test dependencies --> >> > <dependency> >> > <groupId>junit</groupId> >> > <artifactId>junit</artifactId> >> > <version>4.4</version> >> > <scope>test</scope> >> > </dependency> >> > <dependency> >> > <groupId>ojdbc</groupId> >> > <artifactId>ojdbc</artifactId> >> > <version>14</version> >> > <scope>test</scope> >> > </dependency> >> > </dependencies> >> > >> > Regards >> > >> > >> > Jean-Baptiste Onofré wrote: >> >> >> >> Can I have your SU's xbean.xml and pom.xml ? >> >> >> >> Regards >> >> JB >> >> >> >> On Friday 09 January 2009 - 13:04, Piotr Jagielski wrote: >> >>> >> >>> 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. >> >>> >> >> >> >> -- >> >> 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-tp21379285p21432003.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-tp21379285p21445306.html Sent from the ServiceMix - User mailing list archive at Nabble.com.
