私はAspectJを使って、パッケージorg.apache.http、org.apache.http.entity、org.apache.http.impl、org.apache.httpのクラスのメソッドについてアスペクトを適用しています。 ioなども同様です。パッケージとパッケージの側面の適用
以下のような側面を使用しましたが、適用されません。
public pointcut capturehttp():within(org.apache.http..*) && (call(public * *(..)) || call(private * *(..)));
after():capturehttp()
{
System.out.println("In test test test testy test http method set");
}
Aspectj aspect for specifying multiple packagesで提案されているように、私も試してみましたが、それはうまくいきませんでした。 私が間違っている場所に私に提案してください?
質問を編集して、何を達成しようとしているのかを明記してください。あなたのポイントカットは、実行中のコードが 'org.apache.http'パッケージ**で定義されているpublicメソッドまたはprivateメソッド**へのメソッド呼び出し結合ポイントをすべて選択します。 –
org.apache.httpの下に異なるサブパッケージがあります。これらのパッケージのすべてのメソッドでaspectを適用したいと思います。私を助けてください。 – fanwer
達成しようとしていることを尋ねることで、私はその答えを期待しています* "私のコードから' com.my.package'パッケージのすべてのメソッド呼び出しを 'org.apache.http'でコード化したい*。あなたの例は* "org.apache.httpからの呼び出しを任意のパッケージ" *の下のパブリックメソッドまたはプライベートメソッドにキャプチャすることです。私はこれがあなたが望むものではないと思うので、達成しようとしていることを正確に指定してください。 –