Spring Data JPA リポジトリのメソッドが呼び出されたときにアドバイスが実行されるポイントカットを定義しようとしています。
これが私の匿名のポイントカットとインラインアドバイス(からPliEventManagerAspect
)です:
after(Pli pli) returning: (execution(* org.springframework.data.repository.CrudRepository+.save(Pli)) && args(pli)){
System.out.println("Caught!!!!");
}
ここに私のPliRepositoryの定義があります:
public interface PliRepository extends GlobalRepository<Pli, Long>, PliRepositoryCustom {
および PliRepositoryImpl:
public class PliRepositoryImpl extends QueryDslRepositorySupport implements PliRepositoryCustom {
および PliRepositoryCustom:
public interface PliRepositoryCustom {
そして最後に GlobalRepository:
@NoRepositoryBean
public interface GlobalRepository<T, ID extends Serializable> extends JpaRepository<T, ID> {
javaagent コマンドライン引数も設定しました。そして、次の aop.xml があります。
<!DOCTYPE aspectj PUBLIC
"-//AspectJ//DTD//EN"
"http://www.eclipse.org/aspectj/dtd/aspectj.dtd">
<aspectj>
<weaver options="-verbose">
<include within="org.springframework.data.repository..*"/>
</weaver>
<aspects>
<aspect name="trc.suivi.aspects.PliEventManagerAspect" />
</aspects>
</aspectj>
上記のアドバイスは、jar 内のクラスにアドバイスしているため、LTW で実行されるはずですが、まったく実行されません...ポイントカットの定義に間違いがあるはずです。誰でも助けてもらえますか?