サービスを公開 (エクスポート) する OSGi バンドル (私が所有していないため、変更できません!) がEchoService
あり、このサービスのメソッドにアスペクトをアタッチしたい (前処理/後処理を実行するため)その周りに)。これらは Apache Felix コンテナーにデプロイされます。
私は独自の OSGi バンドル (明らかに をインポートするEchoService
) を作成し、標準の Spring AOP を使用して Spring の側面をそれにアタッチしました。ただし、アスペクトが接続されておらず、インターセプターが呼び出されていないようです。
これは、自分のバンドルに属していないサービスを傍受しようとしているためだと思われます (これは合理的に思えます)。あれは正しいですか?どうすればこれを克服できますか?
私のインターセプター/アスペクトは次のようになります。
@Before("serviceOperation()")
public void before(JoinPoint jp) {
logger.debug("Entering method: " + jp.toShortString());
}
@AfterReturning("serviceOperation()")
public void after(JoinPoint jp) {
logger.debug("Exiting method: " + jp.toShortString());
}