[jboss-jira] [JBoss JIRA] (AS7-6305) ModuleClassLoader breaks Aspect-J non-load-time-weaving aspects

jarkko rantavuori (JIRA) jira-events at lists.jboss.org
Wed Jan 9 11:49:08 EST 2013


jarkko rantavuori created AS7-6305:
--------------------------------------

             Summary: ModuleClassLoader breaks Aspect-J non-load-time-weaving aspects 
                 Key: AS7-6305
                 URL: https://issues.jboss.org/browse/AS7-6305
             Project: Application Server 7
          Issue Type: Bug
          Components: Class Loading, Web
    Affects Versions: 7.1.1.Final, 7.2.0.Alpha1
         Environment: Windows 7
            Reporter: jarkko rantavuori
            Assignee: David Lloyd
         Attachments: spring-mvc-aop-datasource-app.zip

Special measures need to be taken for load-time-weaving with aspects, but using them without load-time weaving works normally OOB. However, if this kind of Spring configuration is used:

    <!-- Test to get a data source -->
    <jee:jndi-lookup id="dataSource" jndi-name="jboss/datasources/ExampleDS"/>

    <!-- AOP part -->
    <bean id="methodTraceAspect" class="fi.eis.applications.jboss.poc.gemini.spring.aop.support.api.MyMethodTraceAspect"/>
    <aop:aspectj-autoproxy />
    <!-- end AOP -->
    <bean class="fi.eis.applications.controllers.HomeController">
        <constructor-arg ref="dataSource" />
    </bean>

JBoss tries to use methodTraceAspect also on the data source. Data source is loaded by ModuleClassLoader that in has only visibility to org.jboss.jca.adapters* classes (confirmed with a debugger), so it cannot find the aspect class anymore, making aspect-j throw org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException: warning can't determine implemented interfaces of missing type
fi.eis.applications.jboss.poc.gemini.spring.aop.support.api.MyMethodTraceAspect [Xlint:cantFindType].

This has large problems in bigger applications, where general AOP pointcuts are used - no jboss-module stuff can be used as beans, anywhere. I'm aware of no workaround for this.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jboss-jira mailing list