Skip to main content

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

this code:

weblogic.aspects.AspectJ.init(AspectJ.java:53)

is using a constructor on BcelWorld that was removed from AspectJ in
v1.12 of the BcelWorld file, that was done in January 2004 (version
1.2.0 of AspectJ)...

java.lang.NoSuchMethodError:
org.aspectj.weaver.bcel.BcelWorld.<init>(Ljava/util/List;Lorg/aspectj/bridge/IMessageHandler;)V

I don't know who is responsible for updating the
weblogic.aspects.AspectJ code to support the latest AspectJ...

Andy.



this error:
java.lang.NoSuchMethodError:
org.aspectj.weaver.bcel.BcelWorld.<init>(Ljava/util/List;Lorg/aspectj/br
idge/IMessageHandler;)V

indicates you have multiple versions of AJ around and they aren't
working well together.

On 05/06/07, Paul Bergin <Paul.Bergin@xxxxxx> wrote:
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.AspectClassPreProce
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/aspectj/br
idge/IMessageHandler;)V
        at weblogic.aspects.AspectJ.init(AspectJ.java:53)
        at
weblogic.aspects.AspectClassPreProcessor.createAspectSystem(AspectClassP
reProcessor.java:178)
        at
weblogic.aspects.AspectClassPreProcessor.getAspectSystem(AspectClassPreP
rocessor.java:97)
        at
weblogic.aspects.AspectClassPreProcessor.preProcess(AspectClassPreProces
sor.java:62)
        at
weblogic.utils.classloaders.ClassPreProcessor$ClassPreProcessorSupport.p
reProcess(ClassPreProcessor.java:91)
        at
weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassL
oader.java:332)
        at
weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericCla
ssLoader.java:291)
        at
weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoa
der.java:259)
        at
weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAware
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(GenericClassLoa
der.java:158)
        at
weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAware
ClassLoader.java:35)
        at
weblogic.servlet.internal.EventsManager.registerEventListener(EventsMana
ger.java:271)
        at
weblogic.servlet.internal.WebAppHelper.parseAndRegisterListeners(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.initContextListeners(WebA
ppServletContext.java:1573)
        at
weblogic.servlet.internal.WebAppServletContext.prepare(WebAppServletCont
ext.java:1037)
        at
weblogic.servlet.internal.HttpServer.doPostContextInit(HttpServer.java:4
33)
        at
weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:408)
        at
weblogic.servlet.internal.WebAppModule.registerWebApp(WebAppModule.java:
552)
        at
weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:287)
        at
weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModu
leDriver.java:176)
        at
weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleL
istenerInvoker.java:93)
        at
weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(Deploym
entCallbackFlow.java:360)
        at
weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriv
er.java:26)
        at
weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(Deploy
mentCallbackFlow.java:56)
        at
weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(Deploy
mentCallbackFlow.java:46)
        at
weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:
621)
        at
weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriv
er.java:26)
        at
weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java
:208)
        at
weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentS
tateChecker.java:147)
        at
weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppCon
tainerInvoker.java:61)
        at
weblogic.deploy.internal.targetserver.AppDeployment.prepare(AppDeploymen
t.java:131)
        at
weblogic.management.deploy.internal.DeploymentAdapter$1.doPrepare(Deploy
mentAdapter.java:38)
        at
weblogic.management.deploy.internal.DeploymentAdapter.prepare(Deployment
Adapter.java:177)
        at
weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTra
nsition.java:21)
        at
weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps
(ConfiguredDeployments.java:233)
        at
weblogic.management.deploy.internal.ConfiguredDeployments.prepare(Config
uredDeployments.java:165)
        at
weblogic.management.deploy.internal.ConfiguredDeployments.deploy(Configu
redDeployments.java:122)
        at
weblogic.management.deploy.internal.DeploymentServerService.resume(Deplo
ymentServerService.java:173)
        at
weblogic.management.deploy.internal.DeploymentServerService.start(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/aspectj/br
idge/IMessageHandler;)V
        at weblogic.aspects.AspectJ.init(AspectJ.java:53)
        at
weblogic.aspects.AspectClassPreProcessor.createAspectSystem(AspectClassP
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