Мой проект основан на Spring Framework 2.5.4. И я пытаюсь добавить аспекты для некоторых контроллеров (я использую aspectj 1.5.3).
Я включил авто-прокси в application-servlet.xml, просто вставил эти строки в конец XML-файла:
<aop:aspectj-autoproxy />
<bean id="auditLogProcessor" class="com.example.bg.web.utils.AuditLogProcessor" />
Созданный аспект:
package com.example.bg.web.utils;
import org.apache.log4j.Logger;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
@Aspect
public class AuditLogProcessor
{
private final static Logger log = Logger.getLogger(AuditLogProcessor.class);
@After("execution(* com.example.bg.web.controllers.assets.AssetThumbnailRebuildController.rebuildThumbnail(..))")
public void afterHandleRequest() {
log.info("test111");
}
@After("execution(* com.example.bg.web.controllers.assets.AssetThumbnailRebuildController.rebuildThumbnail(..))")
public void afterRebuildThumbnail() {
log.info("test222");
}
}
Мои контроллеры:
class AssetAddController implements Controller
class AssetThumbnailRebuildController extends MultiActionController
Когда я устанавливаю точки торможения в советниках аспектов и вызываю контроллеры, я ловлю только afterHandleRequest (), но не afterRebildThumbnail ()
Что я сделал не так?
Примечание
Я задаю этот вопрос от имени моего друга, у которого нет доступа к SO бета, и я понятия не имею, о чем он.
EDIT
Действительно, были некоторые ошибки, спасибо Cheekysoft. Но проблема все еще сохраняется.