コードのスニペットが、特定のパッケージの下にあるクラスのすべてのパブリック メソッドで実行されるようにする必要があります。
public String doStuff(String a, Integer b, Context c) {
current.put(c); <--- code that need to be executed
// business logic
...
}
コードのスニペットが各パブリック メソッドの最初の行として常に存在することを保証するための最良の方法は何でしょうか?
PMD などの静的コード分析ツールの使用を検討しました。また、コンパイル時の AOP が役立つと思います。他にアイデアはありますか?
そのためにアスペクトを使用できることを知っています。問題は、アプリケーションが Spring を使用しているが、「チェック」する必要があるクラスが Spring で管理されていないことです。また、サーバーの起動オプションを変更して、Spring アノテーション ベースのランタイム ウィービングを有効にすることは避けたいと考えています。
編集: コードを適用する必要があるクラスは、Akka Typed Actors です。