2013-04-15 4 views
0

Я написал приложение javaagent, чтобы получить время выполнения приложения java, и он отлично работает. Я попытался использовать это приложение, чтобы получить время выполнения приложения, размещенного на сервере tomcat. я не получил требуемый результат. мой код javaagent от «http://www.ibm.com/developerworks/java/library/j-jip/». У меня есть два сомнения 1. Как отфильтровать конкретное приложение, размещенное в tomcat и профиле, используя javaagent. 2. Как javaagent обнаруживает начало и конец приложения в tomcat., чтобы получить начальное и конечное время приложения, размещенного в tomcat, с помощью javaagent

ответ

1

Зачем нужен агент Java? Используйте ServletContextListener и запишите время в contextInitialized() и contextDestroyed().

из сервлета 3.0 спецификации

Реализации javax.servlet.ServletContextListener вызываются в их contextInitialized метод в том порядке, в котором они были объявлены , и в их методе contextDestroyed в обратном порядке ,

+0

Возможно, иногда вызов 'contextDestroyed' пропускается некоторыми контейнерами !!! – NINCOMPOOP

+0

Не могли бы вы привести пример и почему это было бы сделано? –

+0

Я сказал иногда, если вы размещаете tomcat 7 локально и начинаете и останавливаете его с помощью Eclipse, вы столкнетесь с такой двусмысленностью;) его не о prod env, хотя! – NINCOMPOOP