問題タブ [spring-aspects]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring - Maven で特定の側面に関する AspectJ コンパイラの警告を無視するにはどうすればよいですか
Springs などの Aspect ライブラリで AspectJ コンパイラを使用し、特定の Aspect に一致するクラスがない場合は、次のようになります。
しかし、この特定のプロジェクトでは、この側面だけでなく他の側面も必要ありません。
-Xlint で警告を設定できるようですが、一致しないアドバイスの警告をすべてオフにすることしかできないようです ( adviceDidNotMatch=ignore
)。私が本当にやりたいのは、 などの特定の側面を除外することですorg.springframework.orm.jpa.aspectj.JpaExceptionTranslatorAspect
。アスペクトを除外する例が見つからないようです。
aop - WildFly でアスペクトとポイントカットを定義するには?
JBoss 5 から WildFly 8.2 に移行しています。まだSpring 3.1を使用しています。アプリケーションの起動時に突然、アスペクトがまったく見つからなくなりました。XML 構成を (より多くのワイルドカードを配置することで) (部分的に) 解決した可能性がありますが、アスペクトの注釈ベースの構成は同じ方法では解決できません (これは注釈付きクラスであるため、アスペクト自体にワイルドカードを使用することはできません)。Aspect クラスの定義は次のとおりです。
WildFly で変更せずにこのコードを開始すると、次のエラーが発生します。
コードに何か問題がありますか?WildFly と古い jboss で何か違う必要がありますか?
ありがとう、ニコライ
spring - 春のテスト @async メソッド
@Async
Spring のアノテーションがプロジェクトで期待どおりに機能しているかどうかをテストしようとしています。しかし、そうではありません。
私はこのテストを持っています:
ご覧のとおり、現在のスレッドの名前を出力しています。@Async
メソッドを含むクラスは次のとおりです。
ここでは、メソッド内の現在のスレッドの名前を出力しています@Async
。名前は前と同じ main です。だからうまくいかない。
GlobalConfiguration は次のとおりです。
そして、指定されたパッケージの 1 つに activityExecutor Bean があります。
私が間違っていることは何ですか?
spring-aop - 複数のアノテーションを持つメソッドをアスペクトに検出させる方法
Spring アプリケーションがあり、アスペクトを使用してパフォーマンス ログを実行したいと考えています。
@Measured アノテーションが付けられたメソッドのみをログに記録したいので、次のようにアノテーションを作成しました。
側面は次のとおりです。
これは、次のようなメソッドでうまく機能します
@RequestMapping で既にアノテーションが付けられている spring mvc コントローラー メソッドにアノテーションを付けたいのですが、apsect はそれを検出していないようです。
アスペクトにこのメソッドを検出させるにはどうすればよいですか? コンテキストxmlファイルで定義されたSpring aopを次のように使用しています<aop:aspectj-autoproxy proxy-target-class="false"/>
spring - Spring AOP アスペクトで Spring Bean を Autowire できない
新しいアスペクトを作成しましたが、自動配線された Bean をロードしていません
Autowired Bean はロードされず、null のみとして表示されます。
春バージョン
spring - 春の自動配線されたAOP循環依存
@ComponentScan
Bean を初期化し、 @EnableAspectJAutoProxy(proxyTargetClass=true)
cglib プロキシを使用するために、 Java構成を使用しています。
このプロジェクトでは、生成された多くのサービスが を使用してそれらの間で自動配線されています@Autowired
。それはかなりうまくいきます。
ただし、これらのサービスの一部については、追加しました (クラスに@Async
も追加@EnableAsync(proxyTargetClass = true)
しました)。@Configuration
その後、私は得ています:
@Async
これは、 AOP がプロキシを作成する前に、Spring がメソッドを使用してサービスを注入しているためだと思います。これが問題でしょうか?どのように修正すればよいですか?
私の問題を明確にするために、私が持っているとしましょう:
@サービスA、B、C;
A は B と C を自動配線し、B は A と C を自動配線し、C は A と B を自動配線しました。
C には、@Async としてマークされたメソッドがあります。
Spring が applicationContext を初期化するとき、A を初期化しようとしますが、B と C が必要なので、それらを初期化します。しかし、結局のところ、AOP は C のプロキシを作成しようとし (@Async のため)、C を B に自動配線し、A が C のプロキシと同じではないことを検出し、失敗します。
これにより、何が起こっているのかをもう少し説明できることを願っています。
java - spring aop - 複数の側面を連鎖させる
私には 2 つの側面があります。1 つは呼び出しの @Around でロックを取得するためのもので、もう 1 つはメソッド呼び出しをデバウンスするためのものです。側面は次のようになります。
もう1つは次のようになります。
完全なコード:
と
@Debounce と @Lock の両方をメソッドに配置すると、次の例外が発生します。
それは、Spring AOPが次にコールするものを把握できないことに関連しているようです。実際のターゲットではなく、別の側面です.Spring AOP 2および3からの他のレポートを見てきました...しかし、私は使用しています:
java - Spring AOP: Aspect クラスが実行されない
メソッド getFirstName() が User オブジェクトで呼び出されたときに実行されるアスペクトを定義しました。しかし、それは起こりません。
私のアスペクトクラス:
私のapplication-context.xml:
私のテストクラス:
私の aop.xml:
私のpom.xml: