本質的に動的なポイントカット式を作成したいと思います。 私は3つのパッケージ持っている - 任意の時点でaspectj/springの動的ポイントカット式Aop
private static final String PACKAGE = System.getProperty("packagePrefix");
@Around("execution(* "+PACKAGE+"..*.*(..)) && execution(* ..common.*(..))")
以下のような
何かを パッケージ1、 パッケージ2、 共通
共通は常にinculdedと、システムプロパティに基づくべきである私は、パッケージ1 ORパッケージ2をロードしたいの
これをどのように達成できますか?
EDIT:
私は非常に興味深いですthisを発見したと私は私の要件を解決すると思いますが、それは を動作させることができないので、このリンクは、以下の
@Aspect
public abstract class MyAspect {
protected abstract pointcut();
@Before("pointcut()")
public void myAdviceMethod() {
// Advice code goes here
}
}
public class ConcreteAspect extends MyAspect {
@Pointcut("execution(* com.acme.*.*(..))")
protected pointcut() {
)
}
のように持っていると言いますJavaの設定で以下に含まれています
@Bean
public ConcreteAspect myAspect() {
return new ConcreteAspect();
}
OWエラー:
java.lang.IllegalArgumentExceptionが::: 0でエラーが、私はそれゆえオーバーライドされたポイントカットの方法を見つけるために、そのことはできません実行時に推測し、参照 ポイントカットポイントカット
を見つけることができませんpointcutを解決できません。 これをどのように修正できますか?
お返事ありがとうございました。しかし、このパッケージは2番目のポイントカットにどのように置かれますか? PACKAGEはシステムプロパティーから実行時に値を取得する文字列であることを覚えておいてください。 – SCoder