как мне профилировать вызываемые методы в моем веб-приложении

#java #jsf

#java #jsf

Вопрос:

Мой файл приложения (EAR) состоит из комбинации EJB и WAR. Фреймворк — это JSF, а IDE — Netbeans 6.9.1 сервер приложений — glassfich версии V2.x. Я хочу рассчитать время выполнения для каждого вызываемого метода в моем приложении. я просмотрел так много блогов. большинство из них предлагали использовать AOP. но никто не говорит мне, как настроить и как использовать его в моем приложении. может ли кто-нибудь рассказать мне об этом. Если у вас есть какие-либо дополнительные подробности, чтобы ответить на это, я предоставлю.

Ответ №1:

Если вы пытаетесь выполнить AOP на Java, вы, вероятно, ищете AspectJ . ( http://eclipse.org/aspectj / ) Это сложно, но будет делать именно то, о чем вы просите, и есть много книг на эту тему. (Я рекомендую вам прочитать один — это действительно так сложно)

В качестве альтернативы, если ваше приложение использует Weld / CDI, вы можете использовать альтернативу, которая немного проще, называемую перехватчиками: http://docs.jboss.org/weld/reference/1.0.0/en-US/html/interceptors.html

Я бы не стал рекомендовать вам использовать weld для получения поддержки Interceptor, но это, вероятно, быстрее, чем изучение AspectJ с нуля.

Комментарии:

1. Если вы не возражаете, можете потратить некоторое время на обсуждение этой темы завтра

2. Это не то, что чтение того, что я печатаю, решит для вас. То, о чем вы просите, — это сложное бизнес-решение, которое вам необходимо полностью изучить. Пожалуйста, прочтите документацию как Weld, так и AspectJ, хотя бы бегло, и определите, какие из них вы будете использовать, исходя из компромиссов каждого. (Если вы уже используете Spring, это, кстати, немного упрощает AspectJ — поддержка транзакций в Spring осуществляется с помощью AspectJ)

Ответ №2:

Существует множество приложений с профилем JVM. Взгляните на что-то вроде JProbe.

Комментарии:

1. Для этого я должен написать код. Я не должен использовать сторонние инструменты

2. Я использовал AspectJ для этого и его работы тоже. спасибо всем за ваши ценные предложения.