Pull to refresh

Comments 8

А вы смотрели на AOP логирование с точки зрения производительности? Не уверен, что на большом проекте это будет целесообразно. Если у кого-то был опыт внедрения подхода, то интересно было бы посмотреть.
От способа weaving зависит. Тут можно почитать небольшое исследование на эту тему.
Только хотел привести эту же статью. Там конечно недостаточный анализ, но ничего лучшего я не находил и сам не проверял.
Конечно, понятно, что есть зависимость от weaving, спасибо за статью, почитаю. Просто хотелось посмотреть на реальные примеры внедрения и услышать отзывы хабравчан по этому вопросу.
Ну у меня на проекте мы используем аспекты для логгирования. Специально бенчмарков не делали, но проблем с производительностью из-за логов не замечено. LTW, если что.
использую ejb3 interceptors, удобно, явных тормозов не видно, замеры пока делать нехочется
Небольшое уточнение про LTW для EAR — насколько я понимаю, в указанной выше ссылке речь идет именно зависимостях, т.е. сторонних jar. К сожалению, очень давно не работал с LTW, но примерно два года назад удавалось завести LTW на WebLogic 10.3, если не ошибаюсь, с aspectj версии 1.6.1 именно в варианте с EAR.

Присутствие LTW заметно на старте приложения, когда происходит weaving, который может отрабатывать ощутимо долго (в зависимости от количества классов, которые обрабатываются). По поводу быстродействия в рантайме, к сожалению, прокомметнировать не могу, но поддержу комментарий выше — просадки по производительности не замечал.

Да, и еще одна тонкость — с LTW будут проблемы в случае использования нескольких classloader'ов, конечно, такая ситуация довольно редка, но тем не менее. В свое время я так и не смог подружить LTW с несколькими classloader'ами. Пример кейса — доводилось править проект, в котором в рантайме компилировались Java-классы и подгружались в classloader. Компилируемые классы так и не удалось «обвить» через LTW.
Sign up to leave a comment.

Articles