Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [aspectj-users] AjcClosureX.class files

I think my exceptions are cause by 

-Dweblogic.classloader.preprocessor=weblogic.aspects.AspectClassPreProce
ssor 

I believe I should be using an aspectJ preprocessor class, I am running
weblogic 9.2 and java 1.5. I see there are classes for 1.3/1.4 but not
1.5.



>-----Original Message-----
>From: aspectj-users-bounces@xxxxxxxxxxx 
>[mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of Paul Bergin
>Sent: 05 June 2007 10:42
>To: aspectj-users@xxxxxxxxxxx
>Subject: RE: [aspectj-users] AjcClosureX.class files
>
>Hi
>I was beginning to think that my problem with missing 
>AjcClosure classes was something to do with using an old 
>version of AspectJ with Weblogic 9.2, so I downloaded the 
>latest version. My startweblogic still contains
>
>-Dweblogic.classloader.preprocessor=weblogic.aspects.AspectClas
>sPreProce
>ssor -Dweblogic.aspects.debug=true
>
>I recompiled my app and tried to redeploy, but now I get the 
>below exceptions Has anyone got a recent aspectj working with 
>weblogic 9.2? If so, what weblogic configuration was required?
>
>05-Jun-2007 10:06:13 weblogic.aspects.AspectClassPreProcessor
>createAspectSystem
>INFO: Could not find aspect.system property
>05-Jun-2007 10:06:22 weblogic.aspects.AspectClassPreProcessor
>createAspectSystem
>INFO: Could not find aspect.system property
>05-Jun-2007 10:06:23 weblogic.aspects.AspectClassPreProcessor
>createAspectSystem
>INFO: Could not find aspect.system property
>05-Jun-2007 10:06:29 weblogic.aspects.AspectJ init
>INFO: Initializing: {J2EE=cloneData.jar}
>05-Jun-2007 10:06:31
>weblogic.utils.classloaders.ClassPreProcessor$ClassPreProcessorSupport
>preProcess
>WARNING: Error pre-processing class
>org.apache.myfaces.webapp.StartupServletContextListener with 
>weblogic.aspects.AspectClassPreProcessor@1942a3c'
>java.lang.NoSuchMethodError:
>org.aspectj.weaver.bcel.BcelWorld.<init>(Ljava/util/List;Lorg/a
>spectj/br
>idge/IMessageHandler;)V
>        at weblogic.aspects.AspectJ.init(AspectJ.java:53)
>        at
>weblogic.aspects.AspectClassPreProcessor.createAspectSystem(Asp
>ectClassP
>reProcessor.java:178)
>        at
>weblogic.aspects.AspectClassPreProcessor.getAspectSystem(Aspect
>ClassPreP
>rocessor.java:97)
>        at
>weblogic.aspects.AspectClassPreProcessor.preProcess(AspectClass
>PreProces
>sor.java:62)
>        at
>weblogic.utils.classloaders.ClassPreProcessor$ClassPreProcessor
>Support.p
>reProcess(ClassPreProcessor.java:91)
>        at
>weblogic.utils.classloaders.GenericClassLoader.defineClass(Gene
>ricClassL
>oader.java:332)
>        at
>weblogic.utils.classloaders.GenericClassLoader.findLocalClass(G
>enericCla
>ssLoader.java:291)
>        at
>weblogic.utils.classloaders.GenericClassLoader.findClass(Generi
>cClassLoa
>der.java:259)
>        at
>weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(Ch
>angeAware
>ClassLoader.java:54)
>        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>        at
>weblogic.utils.classloaders.GenericClassLoader.loadClass(Generi
>cClassLoa
>der.java:158)
>        at
>weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(Ch
>angeAware
>ClassLoader.java:35)
>        at
>weblogic.servlet.internal.EventsManager.registerEventListener(E
>ventsMana
>ger.java:271)
>        at
>weblogic.servlet.internal.WebAppHelper.parseAndRegisterListener
>s(WebAppH
>elper.java:238)
>        at
>weblogic.servlet.internal.WebAppHelper.registerTagLibListeners(
>WebAppHel
>per.java:175)
>        at
>weblogic.servlet.internal.EventsManager.registerEventListeners(
>EventsMan
>ager.java:253)
>        at
>weblogic.servlet.internal.WebAppServletContext.initContextListe
>ners(WebA
>ppServletContext.java:1573)
>        at
>weblogic.servlet.internal.WebAppServletContext.prepare(WebAppSe
>rvletCont
>ext.java:1037)
>        at
>weblogic.servlet.internal.HttpServer.doPostContextInit(HttpServ
>er.java:4
>33)
>        at
>weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:408)
>        at
>weblogic.servlet.internal.WebAppModule.registerWebApp(WebAppMod
>ule.java:
>552)
>        at
>weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:287)
>        at
>weblogic.application.internal.flow.ScopedModuleDriver.prepare(S
>copedModu
>leDriver.java:176)
>        at
>weblogic.application.internal.flow.ModuleListenerInvoker.prepar
>e(ModuleL
>istenerInvoker.java:93)
>        at
>weblogic.application.internal.flow.DeploymentCallbackFlow$1.nex
>t(Deploym
>entCallbackFlow.java:360)
>        at
>weblogic.application.utils.StateMachineDriver.nextState(StateMa
>chineDriv
>er.java:26)
>        at
>weblogic.application.internal.flow.DeploymentCallbackFlow.prepa
>re(Deploy
>mentCallbackFlow.java:56)
>        at
>weblogic.application.internal.flow.DeploymentCallbackFlow.prepa
>re(Deploy
>mentCallbackFlow.java:46)
>        at
>weblogic.application.internal.BaseDeployment$1.next(BaseDeploym
>ent.java:
>621)
>        at
>weblogic.application.utils.StateMachineDriver.nextState(StateMa
>chineDriv
>er.java:26)
>        at
>weblogic.application.internal.BaseDeployment.prepare(BaseDeploy
>ment.java
>:208)
>        at
>weblogic.application.internal.DeploymentStateChecker.prepare(De
>ploymentS
>tateChecker.java:147)
>        at
>weblogic.deploy.internal.targetserver.AppContainerInvoker.prepa
>re(AppCon
>tainerInvoker.java:61)
>        at
>weblogic.deploy.internal.targetserver.AppDeployment.prepare(App
>Deploymen
>t.java:131)
>        at
>weblogic.management.deploy.internal.DeploymentAdapter$1.doPrepa
>re(Deploy
>mentAdapter.java:38)
>        at
>weblogic.management.deploy.internal.DeploymentAdapter.prepare(D
>eployment
>Adapter.java:177)
>        at
>weblogic.management.deploy.internal.AppTransition$1.transitionA
>pp(AppTra
>nsition.java:21)
>        at
>weblogic.management.deploy.internal.ConfiguredDeployments.trans
>itionApps
>(ConfiguredDeployments.java:233)
>        at
>weblogic.management.deploy.internal.ConfiguredDeployments.prepa
>re(Config
>uredDeployments.java:165)
>        at
>weblogic.management.deploy.internal.ConfiguredDeployments.deplo
>y(Configu
>redDeployments.java:122)
>        at
>weblogic.management.deploy.internal.DeploymentServerService.res
>ume(Deplo
>ymentServerService.java:173)
>        at
>weblogic.management.deploy.internal.DeploymentServerService.sta
>rt(Deploy
>mentServerService.java:89)
>        at
>weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
>        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
>        at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
>05-Jun-2007 10:06:31 weblogic.aspects.AspectJ init
>INFO: Initializing: {J2EE=cloneData.jar}
>05-Jun-2007 10:06:31
>weblogic.utils.classloaders.ClassPreProcessor$ClassPreProcessorSupport
>preProcess
>WARNING: Error pre-processing class
>org.apache.commons.logging.LogFactory with 
>weblogic.aspects.AspectClassPreProcessor@1942a3c'
>java.lang.NoSuchMethodError:
>org.aspectj.weaver.bcel.BcelWorld.<init>(Ljava/util/List;Lorg/a
>spectj/br
>idge/IMessageHandler;)V
>        at weblogic.aspects.AspectJ.init(AspectJ.java:53)
>        at
>weblogic.aspects.AspectClassPreProcessor.createAspectSystem(Asp
>ectClassP
>reProcessor.java:178)
>
>
> 
>
>>-----Original Message-----
>>From: aspectj-users-bounces@xxxxxxxxxxx 
>>[mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of Paul Bergin
>>Sent: 01 June 2007 15:24
>>To: aspectj-users@xxxxxxxxxxx
>>Subject: RE: [aspectj-users] AjcClosureX.class files
>>
>>Thanks for the response
>>OK, I just figured out that the classes are created at load 
>time, I see 
>>in the weblogic logs that these AjcClosure classes are created, but 
>>when it tries to load these classes I get a ClassNotFound 
>exception It 
>>looks like the classes are created, but are not in the classpath when 
>>required.
>>
>> 
>>
>>>-----Original Message-----
>>>From: aspectj-users-bounces@xxxxxxxxxxx 
>>>[mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of Andy Clement
>>>Sent: 01 June 2007 14:47
>>>To: aspectj-users@xxxxxxxxxxx
>>>Subject: Re: [aspectj-users] AjcClosureX.class files
>>>
>>>closures are created when around advice cannot be inlined.  
>>>They are generated by the weaver.  if you build your application 
>>>separate to your aspect, you will not get them created until
>>the weave
>>>occurs.
>>>how are you doing the weave? loadtime? post-compile?
>>>how does it actually fail?
>>>
>>>Andy.
>>>
>>>On 01/06/07, Paul Bergin <Paul.Bergin@xxxxxx> wrote:
>>>> Anyone?
>>>> Why are AjcClosure files created?
>>>>
>>>>
>>>> >-----Original Message-----
>>>> >From: aspectj-users-bounces@xxxxxxxxxxx 
>>>> >[mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of 
>Paul Bergin
>>>> >Sent: 31 May 2007 16:05
>>>> >To: aspectj-users@xxxxxxxxxxx
>>>> >Subject: [aspectj-users] AjcClosureX.class files
>>>> >
>>>> >Hi
>>>> >Currently I have an app deployed on weblogic, I need to create
>>>> >4 pointcuts to intercept calls. I have them defined and when I 
>>>> >compile and jar all the code together it creates AjcClosure
>>>files in
>>>> >the existing code and works correctly.
>>>> >E.G.
>>>> >Existing object (Factory.java)
>>>> >
>>>> >       com.Factory.class
>>>> >Created class
>>>> >       com.Factory$AjcClosure1.class
>>>> >
>>>> >But I want the aspectJ code separate to the existing code.
>>>> >When I build the two separately the AjcClosure files are
>>>not created
>>>> >because the main app is build separately, but I see there are 4 
>>>> >AjcClosure class files built in my aspectJ project (obviously
>>>> >Factory$AjcClosure1 does not exist), I would have thought these 
>>>> >classes should be used when running, but when I debug it 
>looks for 
>>>> >AjcClosure class files in the existing code base 
>>>> >(Factory$AjcClosure1).
>>>> >
>>>> >Here is an example of one of my point cuts
>>>> >
>>>> >       public pointcut pointCutOne(String fname, String sname) :
>>>> >               call(public Quote Factory.changeDetails(String,
>>>> >String) throws JdbcUtilException ) && args(fname, sname);
>>>> >
>>>> >       Object around(String fname, String sname) :
>>>> >             changeContactDetails(fname, sname) {
>>>> >                       Object resultObj = proceed(fname, sname);
>>>> >
>>>> >                       return resultObj;
>>>> >       }
>>>> >
>>>> >Where am I going wrong?
>>>> >
>>>> >Regards
>>>> >Paul
>>>> >_______________________________________________
>>>> >aspectj-users mailing list
>>>> >aspectj-users@xxxxxxxxxxx
>>>> >https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>> >
>>>> _______________________________________________
>>>> aspectj-users mailing list
>>>> aspectj-users@xxxxxxxxxxx
>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>
>>>_______________________________________________
>>>aspectj-users mailing list
>>>aspectj-users@xxxxxxxxxxx
>>>https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>
>>_______________________________________________
>>aspectj-users mailing list
>>aspectj-users@xxxxxxxxxxx
>>https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
>_______________________________________________
>aspectj-users mailing list
>aspectj-users@xxxxxxxxxxx
>https://dev.eclipse.org/mailman/listinfo/aspectj-users
>


Back to the top