Comments 8
А вы смотрели на AOP логирование с точки зрения производительности? Не уверен, что на большом проекте это будет целесообразно. Если у кого-то был опыт внедрения подхода, то интересно было бы посмотреть.
Только хотел привести эту же статью. Там конечно недостаточный анализ, но ничего лучшего я не находил и сам не проверял.
Конечно, понятно, что есть зависимость от weaving, спасибо за статью, почитаю. Просто хотелось посмотреть на реальные примеры внедрения и услышать отзывы хабравчан по этому вопросу.
использую ejb3 interceptors, удобно, явных тормозов не видно, замеры пока делать нехочется
Небольшое уточнение про LTW для EAR — насколько я понимаю, в указанной выше ссылке речь идет именно зависимостях, т.е. сторонних jar. К сожалению, очень давно не работал с LTW, но примерно два года назад удавалось завести LTW на WebLogic 10.3, если не ошибаюсь, с aspectj версии 1.6.1 именно в варианте с EAR.
Присутствие LTW заметно на старте приложения, когда происходит weaving, который может отрабатывать ощутимо долго (в зависимости от количества классов, которые обрабатываются). По поводу быстродействия в рантайме, к сожалению, прокомметнировать не могу, но поддержу комментарий выше — просадки по производительности не замечал.
Да, и еще одна тонкость — с LTW будут проблемы в случае использования нескольких classloader'ов, конечно, такая ситуация довольно редка, но тем не менее. В свое время я так и не смог подружить LTW с несколькими classloader'ами. Пример кейса — доводилось править проект, в котором в рантайме компилировались Java-классы и подгружались в classloader. Компилируемые классы так и не удалось «обвить» через LTW.
Присутствие LTW заметно на старте приложения, когда происходит weaving, который может отрабатывать ощутимо долго (в зависимости от количества классов, которые обрабатываются). По поводу быстродействия в рантайме, к сожалению, прокомметнировать не могу, но поддержу комментарий выше — просадки по производительности не замечал.
Да, и еще одна тонкость — с LTW будут проблемы в случае использования нескольких classloader'ов, конечно, такая ситуация довольно редка, но тем не менее. В свое время я так и не смог подружить LTW с несколькими classloader'ами. Пример кейса — доводилось править проект, в котором в рантайме компилировались Java-классы и подгружались в classloader. Компилируемые классы так и не удалось «обвить» через LTW.
Sign up to leave a comment.
AOP in action. AspectJ (CTW) + Spring + LTW