2017-12-30 30 views
-1

org.springframework.data.redis.core.StringRedisTemplace(例えばsave();delete();)という特定のオブジェクトに対するすべての呼び出しを傍受したいが、私の会社の多くのパッケージcom.mycompany.*StringRedisTemplaceのインスタンスがサードパーティ製のライブラリやspring/data/redis自体で使用されているときではありません。AOP、パッケージから直接作成された場合にのみ指定されたクラスへの呼び出しを傍受する方法X

@Pointcut などのようなAOPアノテーションを使用する方法がありますか。検索/試行に失敗しました。

したがって、特定のクラスのすべてのインスタンスへのすべての呼び出しを、私の会社パッケージ内でインスタンス化され、使用されている限り、どのように傍受して計測するのか。

+0

:あなたが何をしたいか

はこのようなものです –

答えて

1

さて、あなたはほとんど自分でそれを言っている:

が、呼び出しは、私の会社の 1内から直接行われた場合にのみ、多くのパッケージcom.mycompany.*

必要なポイントカットタイプ実際にはwithinという名前です。関連するAspectJにはwithincodeという名前のものがありますが、プロキシベースのSpring AOPは、後者ではなく前者をサポートしています。後者の場合、Spring内からLTW経由でAspectJを完全に使用する必要があります。すべてはSpringマニュアルのAOP chapterで説明されています。私は鐘を聞いたが、それがどこにあるか、あなたは(知らない)知らない

within(com.mycompany..*) && call(org.springframework.data.redis.core.StringRedisTemplate+.*(..)) 
関連する問題