Сторонний класс AspectJ не сплетен в weblogic - PullRequest
0 голосов
/ 01 марта 2019

Я пытаюсь «соткать» стороннюю банку с AspectJ с использованием агента aspectj.

Первый тестовый пример:

MyAspectJImpl.jar - содержит класс смой аспект и aop.xml (с включенной отладкой) внутри Meta-inf с правильным отображением и тестовым основным классом.

сторонний.jar

aspectJ core jar.

Я выполняю основной класс в командной строке

java -javaagent:aspectjweaver.jar -cp ...

на консоли и вижу, что этот сторонний класс сплетен, и моя реализация работает.

Второй тестовый пример:

Я перехожу к weblogic aspectj Агент установлен в сценарии, который запускает weblogic.В этом сценарии добавлен третейский jar.

в журнале weblogic. Я вижу, что мой aop загружен

[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>

Но на этот раз я не вижу в журнале:

 debug weaving '<third.party.class>'

Я вижу другиеклассы ткачества (из другого развернутого aop.xml).
(я убедился, что другие aop.xmls не исключают третью сторону)

, например:

[GenericClassLoader@62b46385]  debug weaving 'com.core.BasicSessionBean'

(этот класс находится внутри развернутого уха)

Я также проверил, что сторонний класс был загружен (многословно: класс).

Есть идеи, как определить, почему этот класс не был сплетен?

Единственное отличие, которое я вижу, в том, что переплетенные классы находятся внутри развернутого файла ear.

Классы третьих сторон находятся внутри jar, который добавляется в classpath при запуске weblogic.Server.

Iможет предоставить aop.xml, но я не думаю, что это важно, потому что это сработало в моем первом тестовом примере.

Обновление

в журнале weblogic. Я вижу строки, похожие на

[GenericClassLoader@3759f631] info AspectJ Weaver Version 1.7.1 built on Thursday Sep 6, 2012 at 16:39:22 GMT
[GenericClassLoader@3759f631] info register classloader weblogic.utils.classloaders.GenericClassLoader@3759f631

20 раз для разных загрузчиков классов

Может ли это быть связано с каким-либо порядком загрузчиков классов?

...