1

私は探検@RequestScopedしていて、インストールせずにそれを使用する方法があるかどうか疑問に思っていましたServletModule. GuiceContainer私は Guice 3.0 + Jersey 1.17 を使用していますが、おそらく&を使用したくないでしょうGuiceServletContextListener

Jerseyリクエストでのユーザー入力に応じて、リクエストごとにオブジェクトの作成(注入)が必要です。出来ますか?既存のものを GuiceGuiceContainerのものに置き換える必要がある場合、パフォーマンスとセキュリティに関する考慮事項は何ですか?ServletContextListener

必要に応じて使用する方法があればRequestScope、参考にしてもらえますか?

4

1 に答える 1

1

Scopeのような事前定義されたスコープ アノテーションにカスタム実装をバインドすることができます@RequestScoped。これは、2 つの異なる実装を同じスコープ アノテーションにバインドできないため、 を使用できないことを意味します。ServletModule

詳細については、カスタム スコープのドキュメントを参照してください。スコープの目的で何が「リクエスト」を構成するかを判断し、必要に応じてスコープへの出入りをトリガーするコードを記述する必要があります。

たとえば、通常の Guice 実装でServletScopes.RequestScopeは、ThreadLocal 初期化された inGuiceFilterを使用して、現在のリクエストが何であるかを追跡します。

于 2016-03-24T23:25:46.200 に答える