Как прикрепить bytebuddy agent к динамическому классу, особенно когда динамический класс загружается из файла JAR со знаком
Я попытался прикрепить bytebuddy агент к старому апплету. На некотором этапе выполнения этот старый апплет получает подписанный файл JAR с другого хоста и загружает их динамически. Проблема в том, что агент не работает на этой стадии динамической загрузки. Я думаю, что в таком случае Рафаэль Винтерхальтер сказал, что with(ProtectionDomain)
а также AgentBuilder.Transformer.ForAdvice
это просто решение. Но как их применять? Я старался изо всех сил, чтобы ничего не получить. И нет никаких прецедентов в Интернете. Кто-нибудь, помогите мне. Заранее спасибо.
1 ответ
Агент Java должен быть уведомлен о любой загрузке классов. Однако в случае апплетов существует вероятность того, что менеджер безопасности заблокирует инструментарий, если Byte Buddy использует какое-либо привилегированное действие без его разрешения.
При использовании совета не должно быть никакой разницы, загружается ли jar во время выполнения или если приложение является апплетом. Вы получаете сообщение об ошибке? Зарегистрировать AgentBuilder.Listener.StreamWriting.toSystemOut()
слушатель отлаживает такие проблемы.