私のプロジェクトはSpringFramework2.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ベータにアクセスできない友人に代わってこの質問をしていますが、それが何であるかについての手がかりがありません。
編集
Cheekysoftに感謝します。しかし、問題はまだ解決していません。