Thanks.

First, it's not possible to upload code to git as full deployment is very
complex.

I will try to play with classpath and see if it changes anything,


After additional weblogic log analyze, third party class loaded twice (from
different jars locations) , the first time is loaded  from weblogic's
server/lib/consoleapp/APP-INF/lib, and it happens BEFORE aop.xml is loaded.

Can it be the reason?

On Sun, 3 Mar 2019 at 08:53, Alexander Kriegisch <[email protected]>
wrote:

> Correction, see below:
>
> Alexander Kriegisch schrieb am 03.03.2019 10:11:
>
> Without an MCVE <http://stackoverflow.com/help/mcve> it is difficult to
> say anything definitive, but in general you seem to have one of two
> possible problems:
>
>    - Class visibility issues due to classloader isolation inside your
>    container (application server): Maybe the two classloaders loading the
>    aspect JAR and the WAR/EAR to be woven are isolated from each other.
>    - Class-loading order: Maybe your aspect JAR is loaded after the
>    target classes have already been woven loaded.
>
> There might be other possible causes, I am by no means a container expert
> because I mainly work with Java SE and without application servers. I think
> you need to change your configuration in order to address this issue. What
> to do exactly is beyond my knowledge. Maybe Andy knows more. Maybe it would
> also help to push an MCVE to GitHub for everyone to reproduce to problem.
> --
> Alexander Kriegisch
> https://scrum-master.de
>
>
> yev yev schrieb am 02.03.2019 16:19:
>
> I am trying to "Weave" a third-party jar with AspectJ using aspectj agent.
>
> *First test case:*
>
> MyAspectJImpl.jar - contains class with my aspect and aop.xml (with debug
> enabled)inside Meta-inf with correct mapping, and a test main class.
>
> third-party.jar
>
> aspectJ core jars.
>
> I execute main class in commandline
>
> java -javaagent:aspectjweaver.jar -cp ...
>
> on console see that that third party class was weaved, and my
> implementation works.
>
> *Second test case:*
>
> I move to weblogic aspectj agent is set in script that starts weblogic.
> thirparty jar is added to classpath in that script.
>
> in weblogic log I see that my aop was loaded
>
> [ChangeAwareClassLoader@48537e4f] info AspectJ Weaver Version 1.7.1 built on 
> Thursday Sep 6, 2012 at 16:39:22 GMT
> [ChangeAwareClassLoader@48537e4f] info register classloader 
> weblogic.utils.classloaders.ChangeAwareClassLoader@48537e4f
> [DependencyClassLoader@4d5932c7] info using configuration <path_to_my_aop.xml>
>
> But this time i don't see in the log:
>
>  debug weaving '<third.party.class>'
>
> I do see other weavings classes (from other aop.xml that are also
> deployed).
> (i verified that other aop.xmls don't exclude the thirdparty )
>
> for example:
>
> [GenericClassLoader@62b46385]  debug weaving 'com.core.BasicSessionBean'
>
> (this class is inside an ear which is deployed)
>
> I also verified that third party class was loaded (verbose:class).
>
> Any idea how to identify why that class was not weaved?
>
> The only difference that I see, that weaved classes are inside deployed
> ear file.
>
> Thirdparty classes are inside jar that added to classpath when starting
> weblogic.Server.
>
> I can provide aop.xml but I don't think it's important because it worked
> in my first test case.
>
>
>
> _______________________________________________
> aspectj-users mailing list
> [email protected]
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://www.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________
aspectj-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://www.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to