我的項目基於spring framework 2.5.4。我嘗試爲某些控制器添加方面(我使用aspectj 1.5.3)。Aspectj沒有捕獲到Spring框架中的所有事件?
我已經啓用自動代理在應用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
當我在aspect advisors中設置制動點並調用控制器時,我只捕獲afterHandleRequest()但不是afterRebildThumbnail() 我做錯了什麼?
注意
我問代表我朋友的這個問題,誰不具有左右的測試訪問,我沒有什麼線索它的全部。
編輯
有的確有些拼寫錯誤,謝謝Cheekysoft。但問題仍然存在。