У меня есть приложение GWT, в котором его службы RPC обрабатываются компонентом GWTHandler, чтобы оно могло плавно интегрироваться с Spring.Приложение работает.Нет проблем с этим.
Моя проблема в том, что я не могу вести AOP с Spring.Мне нравится регистрировать действия пользователя из интерфейса GWT, используя AOP.(Конечно, я мог бы сделать это старым способом вызова службы RPC для каждого действия, которое делает пользователь, и записать это действие в журнал, но это не путь AOP).Я должен сделать это в АОП, потому что это требования клиента.
Я попытался использовать обычную Spring AOP с общим шаблоном pointcut «execute (* . (..))».Он способен захватывать все методы, кроме сервисов GWT.Другими словами, это бесполезно.Конечно, я мог бы зарегистрировать бэкэнд Spring DAO, используя AOP, но как мне узнать, из какой службы RPC он пришел?Эти DAO используются многочисленными классами и методами (не только для GWT).
Я пытался исследовать пакет GWT-ENT.Выглядит хорошо.Однако, это работает на стороне клиента, и ваши классы должны реализовать Aspectable.Это означает необходимость внесения изменений во все клиентские классы в моем приложении GWT.Кроме того, вы не можете использовать закрытые методы, поскольку для обработки AOP с помощью GWT-ENT вам нужно создавать свои классы с помощью GWT.create вместо new ().Наличие закрытых методов приводит к ошибке.Я установил простое приложение, и действительно частные методы не работают.
Я попытался найти пакет GWT-SL (откуда пришел мой GWTHandler).Они упомянули кое-что об АОП, но информации очень мало.Google не дал мне никаких решений или примеров.
Я перепробовал все, что мог, и искал в Google всеми моими усилиями, но не могу найти решение своей проблемы.
Все, что я хочу сделать, - это протоколировать методы из моегоУслуги GWT через АОП.Допустим, клиент переходит на вкладку «Отчет».Затем он нажимает кнопку «Удалить запись».Я хочу регистрировать эту активность через АОП.
Я использую GWT (со SmartGWT) и Spring / Hibernate.