[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
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