Мы написали javaagent, чтобы помочь разработчикам в отладке. Но, прежде чем выпустить этот инструмент, у нас остались вопросы по развертыванию java-агента.
Пользователь может использовать агент с некоторыми приложениями tomcat. Агент использует метод Premain для преобразования классов. Мы используем javassist 3.18.2-GA для вставки кодов. В настоящее время мы добавляем javassist.jar в Boot-Class-Path в MANIFEST.MF. И мы помещаем и агент, и javassist.jar в каталог lib tomcat.
Вопросы:
- Ну, как минимум, работает. Но правильный ли это способ развертывания агентов и зависимостей для приложений Tomcat?
- Поскольку большинство приложений tomcat используют спящий режим, который также использует javassist 3.18.2-GA, так что сейчас все в порядке. Но насколько я понимаю, 3.20 не полностью совместима с 3.18.2. Предложите, чтобы кто-то обновил javassist до более высокой версии, не произойдет ли сбой агента или приложения из-за конфликта между двумя разными javassist.