Использование AspectJ для отладки приложений Enterprise Java - PullRequest
3 голосов
/ 17 января 2011

Идея состоит в том, чтобы использовать AOP для разработки приложений / инструментов для отладки / просмотра потока выполнения приложения во время выполнения.Для начала, простой дамп данных (состояния) в начале и в конце вызова метода будет выполнять необходимый сбор данных.

Цель - не разработчики приложений, а высококлассный бизнес-аналитик или сотрудники службы поддержки высокого уровня, для которых процесс выполнения может оказаться полезным.Поток приложений во время выполнения также может быть полезен для уменьшения кривой обучения приложения для новых разработчиков, особенно в системах с загруженной конфигурацией.

Я хотел знать, существуют ли уже такие инструменты / приложения, которые можно было бы использовать.Или лучше, если это имеет смысл, то есть ли лучший способ добиться этого.

Ответы [ 2 ]

3 голосов
/ 18 января 2011

Вы можете начать с Spring Insight (http://www.springsource.org/insight)) и добавить свои собственные плагины для сбора данных, подходящих для бизнес-аналитиков / вспомогательного персонала. Если это не отвечает потребностям, вы можете написать свои собственные аспекты. Это не так сложно .

1 голос
/ 18 января 2011

Вы можете написать свои собственные аспекты, как предложено ramnivas, но чтобы подготовиться к запросам от пользователей, вы можете просто собрать аспекты в приложение, чтобы вам не пришлось обращать внимание на во время выполнения, а затем они могут просто выбрать, какие потоки выполнения или группы методов им интересны, и вы просто вызываете сервер и задаете некоторую переменную, чтобы дать им требуемую информацию.

Написание аспектов легко, но чтобы ограничить перекомпиляцию, вы можете захотеть получить представление о том, что пользователи захотят, например, если они хотят иметь журнал каждого вызова, сделанного с момента вызова веб-сервиса, до его завершения. попадает в базу данных, затем вы можете встроить ее, но это было бы проще узнать заранее.

В противном случае аспект ничего не делает, если переменная не установлена, и, возможно, сбрасывает переменную по окончании.

Вы также можете иметь, где они могут выбрать, какой тип регистрации и для какого пользователя, что может привести к более полезной информации.

...