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.
>
>

Reply via email to