Brian, I've made a little bit of progress. The aspectj.jar is used by spring-aop.jar, which is shipped in the container's lib directory. This means the aspectj.jar needs to be in the container's classloader, but another solution would also be to add a spring-aop.jar to your SU and add <classloader inverse="true"/>. This way, both JARs will be loaded from the SU classloader.
However, that also gave me a second problem I still need to investigate. The @Resource annotation that is needed to inject the DeliveryChannel is no longer available on the class after aspect weaving, causing a NullPointerException on the channel.send(exchange). Unless someone else comes up with a solution for this overnight, i'll take another look in the morning. Regards, Gert Vanthienen ------------------------ Open Source SOA: http://fusesource.com Blog: http://gertvanthienen.blogspot.com/ 2009/4/16 R Brian D <[email protected]>: > > Gert, > > Any other ideas? > > xbean.xml > ... > <classloader inverse="true" /> > ... > > Here is the full stack trace from the attempted deployment: > <message-type>ERROR</message-type> > </task-result-details> > </frmwk-task-result-details> > </frmwk-task-result> > <component-task-result > xmlns="http://java.sun.com/xml/ns/jbi/management-message"> > <component-name>servicemix-bean</component-name> > <component-task-result-details> > <task-result-details> > <task-id>deploy</task-id> > <task-result>FAILED</task-result> > <message-type>ERROR</message-type> > <task-status-msg> > <msg-loc-info> > <loc-token/> > <loc-message>Could not deploy xbean service unit</loc-message> > </msg-loc-info> > </task-status-msg> > <exception-info> > <nesting-level>1</nesting-level> > <msg-loc-info> > <loc-token/> > <loc-message>Unexpected exception > parsing XML document from file [C:\development\tool > -assemblies\my-sa\version_2\sus\servicemix-bean\my-bean-su\xbean.xml]; > nested exception is java.lang.NoClassDefFoundError: or > ge> > > <stack-trace><![CDATA[org.springframework.beans.factory.BeanDefinitionStoreException: > ocument from file > [C:\development\tools\fuse-esb-3.4.0.1\data\smx\service-assemblies\my-sa\version_2\sus\servicemix-bean\my-b > is java.lang.NoClassDefFoundError: org/aspectj/lang/JoinPoint > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:4 > 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(AbstractBeanDefinitionR > at > org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionR > at > org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionR > at > org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionR > at > org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContex > at > org.apache.xbean.spring.context.FileSystemXmlApplicationContext.loadBeanDefinitions(FileSystemXmlApplicationContex > at > org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableAp > at > org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.j > 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:520) > at > org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:354) > at > org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:257) > at > org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:668) > at > org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService.java:63) > at > org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDeploymentService.java:632) > at java.util.TimerThread.mainLoop(Timer.java:512) > at java.util.TimerThread.run(Timer.java:462) > Caused by: java.lang.NoClassDefFoundError: org/aspectj/lang/JoinPoint > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:164) > at > org.springframework.aop.config.ConfigBeanDefinitionParser.class$(ConfigBeanDefinitionParser.java:208) > at > org.springframework.aop.config.ConfigBeanDefinitionParser.getAdviceClass(ConfigBeanDefinitionParser.java:442) > at > org.springframework.aop.config.ConfigBeanDefinitionParser.createAdviceDefinition(ConfigBeanDefinitionParser.java:3 > at > org.springframework.aop.config.ConfigBeanDefinitionParser.parseAdvice(ConfigBeanDefinitionParser.java:363) > at > org.springframework.aop.config.ConfigBeanDefinitionParser.parseAspect(ConfigBeanDefinitionParser.java:258) > at > org.springframework.aop.config.ConfigBeanDefinitionParser.parse(ConfigBeanDefinitionParser.java:148) > at > org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:69) > at > org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate > at > org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate > at > org.apache.xbean.spring.context.v2.XBeanBeanDefinitionDocumentReader.parseBeanDefinitions(XBeanBeanDefinitionDocum > at > org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefin > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java > at > org.apache.xbean.spring.context.v2.XBeanXmlBeanDefinitionReader.registerBeanDefinitions(XBeanXmlBeanDefinitionRead > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:3 > ... 22 more > ]]></stack-trace> > > > R Brian D wrote: >> >> Gert, >> >> Thanks, but that creates a different deployment error. The causing >> exception is below >> >> Caused by: >> org.springframework.beans.FatalBeanException: >> Class [org.springframework.aop.config.AOPNamespaceHandler] for namespace >> [http://www.springframework.org/schema/aop] does not implement the >> [org.springframework.beans.factory.xml.NamespaceHandler] interface >> > > -- > View this message in context: > http://www.nabble.com/Spring-AOP-AspectJ-ClassLoader-Issue-tp23031850p23070319.html > Sent from the ServiceMix - User mailing list archive at Nabble.com. > >
