問題タブ [guice-servlet]
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 - Guice サーブレットモジュールで定義されたフィルターのディスパッチャータイプを指定する方法は?
私はJavaベースのWebアプリに取り組んでいます。Guice
およびを使用して、ServletModule
サーブレットとフィルターを構成しています。
ここで、Filter
着信要求だけでなく、ディスパッチャーを介して要求が転送された場合でも、 を呼び出す必要があります。
プレーンな JEE Web アプリでは、おそらくweb.xml
このように設定します...
しかし、私はそのようなことしか書けないGuiceで同じことをすることができません...
FORWARD
...そして、モードを明示的に指定できないようです。そのため、リクエストが転送されたときにフィルターは作動しません。
Guice でそれを達成できる方法があるかどうか知っていますか?
前もって感謝します。
java - リクエスト完了後のリクエスト範囲の継続
次の目的を達成するための決定的なアプローチを見つけるのに苦労しています。
クライアントからのリクエストスコープの操作呼び出しの優れた実装があります。これらの操作は高速で軽快、つまり 10 ミリ秒未満であることが期待されており、重い処理は別のスレッドまたはスレッド プールで呼び出された操作とは無関係に非同期で実行される必要があります。
これらのスレッドを実行している間、リクエストスコープの変数をスレッドに注入する必要があります。これらのスレッドが実行されると、リクエストは完了して実行されるため、つまりスレッドの実行はリクエスト スコープ外であるため、リクエスト スコープの変数を直接注入することはできません。
1つの解決策はServletScopes.scopeRequestメソッドのようです。それを効果的に使用するために、すべてのリクエスト スコープ オブジェクト参照を効果的にマップにコピーし、継続中にそれらをシードするクラス RequestScopePropagator を作成しました。
これが正しいアプローチであるかどうかは確信が持てません。より適切な方法/アプローチはありますか?