問題タブ [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.
java - ポイントカット式はJavaメソッドのジェネリックパラメータと一致できますか?
私の問題は、ポイントカット式がメソッド呼び出しと一致していないように見えるため、実行されないことです。パラメータリストのジェネリックと関係があると思われます。
照合しようとしているメソッドには、次の署名があります (実際の名前は難読化されています)。
次の署名を持つ別のメソッド呼び出しがありますが、一致させようとしていませんが、引数番号で除外できると考えています。唯一の違いは、パラメーターが 1 つ少ない (つまり、String e がない) ことです。
使用されるポイントカット式は
いくつかの検索で、関連するものを見つけましたが、それを理解しているとは言えません。
これに光を当てることができる人はいますか?
spring - Aspect で pathVariable を取得する - Spring Boot
スプリングブートにアノテーションを実装したい。パス変数を取得してアノテーションで使用するために必要です。
次のようにPreAuthorizeでパラメータを取得します: #id. ただし、この関数では、変数パスの名前を文字列として機能させます。
間違ったことをするのはどこですか?どうすれば問題を解決できますか?
java - スレッドの実行時に Spring アスペクトのアドバイスを実行する
私の springboot アプリケーションには、非同期実行のためにタスクをスレッドプールに送信するシナリオがあります。現在、子実行内のメソッドの一部は、@AfterReturn を使用したアスペクト ポイント アドバイスの一部です。処理が asnyc で行われたとしても、メイン スレッドは子スレッドからのポイント カット アドバイスを実行し続け、サービスはすべての子スレッドが実行を終了するまで値を返さないことがわかりました。実行中のスレッド自体でアドバイスを実行する方法のポインタはありますか? つまり、dao メソッドの実行とそれに対応するポイント カットが実行されるまで、コントローラー メソッドは応答を返しません。
java - Spring AOP 自体の例外が RestControllerAdvice を介して処理されない
続行する前に、サービス層の特定の属性について HttpServletRequest を検証する必要があります。@Before アドバイスを作成しましたが、AOP メソッドが例外をスローすることに注意してください。このメソッドによってスローされた例外は、RestControllerAdvice によって処理される必要があります。AOP メソッドが実行されていることがわかりますが、DataNotValidException は RestControllerAdvice によって処理されていません。RestConrollerAdvice は、他のパラメーターの検証に例外がある場合、または RestController に例外がある場合、正常に機能しています。
これは私の @RestControllerAdvice です。handleExceptionInternal もオーバーライドしようとしました。
public String handleLinkage(final HttpServletRequest httpServletRequest, @Valid UserLinkRequest userLinkReqeust, final HttpHeaders httpHeaders) {