問題タブ [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.

0 投票する
2 に答える
825 参照

java - jetty+guice で実行可能な戦争

これは、サーブレットを接続するためのコードから、jettyを埋め込むためのコードをより適切に分離することに関する質問です。

実行可能な war、つまり、既存の Jetty コンテナーにドロップできる war ファイル、または のようなコマンドを使用してスタンドアロンで実行できるように、このサンプル コードを適応させようとしていますjava -jar webapp-runnable.war。サンプル コードは、次の 2 つのブログ投稿に属しています: No.1No.2

GuiceServletのマニュアルに従ってweb.xmlandを作成しましたGuiceServletContextListener(以下を参照) mvn jetty:run。を実行しようとするとmvn jetty:run、次のエラーが表示されます。

これが私のコードです。前に述べたように、私はgithub のこのレポから始めました。

1) AbstractModule 型の匿名内部クラスを抽出し、com.teamlazerbeez.http.HttpServerMainそれを新しい class に入れましたcom.teamlazerbeez.http.HttpServerModule。このクラスは、(l36) で Guice Injector を作成するときにインスタンス化されるようになりましHttpServerMain

2)web.xml:

3)com.teamlazerbeez.http.GuiceServletConfig:

私の質問:HttpServerMain mainメソッドをリファクタリングHttpServerModuleするにはどうすればよいGuiceServletConfigでしょうか。そしてGuiceServletConfig、これが機能するにはどのように見える必要がありますか?

0 投票する
1 に答える
323 参照

jersey - Guice ServletModule からカスタム Jersey ViewProcessor をインストールする

jersey-guiceを使用して、一連の Guice (サーブレット) モジュールを使用してすべての Jersey 1 リソースをセットアップしています。

Guice を使用して注入したい構成オブジェクトに依存するカスタムViewProcessor( ) を作成しました。CustomViewProcessorこれCustomViewProcessor 、Jersey が必要とするたびに取得して使用する必要があります。

CustomViewProcessorが必要なときにいつでも Guice で作成されたインスタンスをフェッチするように Jersey に指示するにはどうすればよいViewProcessorですか? ModuleGuiceのconfigureメソッド内でこれらすべてを設定したいと考えています。

0 投票する
2 に答える
73 参照

wso2 - WSO2 AS ガイダンス統合

WSO2 アプリケーション サーバーを使用して Web サービスを展開しています。プロジェクトで Guice を使用したいと思います。axis2 guice 統合に関する maksimブログを読みました。彼はインジェクションに web.xml を使用しましたが、wso2 で web.xml を変更する方法がわかりません。

ありがとう

0 投票する
1 に答える
567 参照

aop - GUICE を使用した Shiro AOP が機能しない

セキュリティのために Shiro を使用するサービスを作成しています。Guice も組み込みました。で GUICE インジェクターを作成しますGuiceServletContextListener

また、Guice Container と GuiceShiroFilter を次のようにバインドしますJerseyServletModule

しかし、Shiro からの注釈は機能していないようです。

でチェーンを構成しますMyShiroWebModule

したがって、「ROLES」フィルターを使用すると、次の AOP 方式でロールがスキャンされます。

@RolesAllowed("SomeFancyRole")(編集を参照)

しかし、GUICE Shiro AOP 機能を活用したいと考えています。私は自分自身の代わりにベースの ShiroAOPModule を試しました -> 私は構成が呼び出されているかどうかを確認するためのデバッグ用です。

@User, @Authenticated etc.

この機能をどのように組み込むことができますか? 前もって感謝します

編集:

@RolesAllowed以下を追加したおかげで、が機能していることがわかりました。

params.put(PackagesResourceConfig.PROPERTY_RESOURCE_FILTER_FACTORIES, "com.sun.jersey.api.container.filter.RolesAllowedResourceFilterFactory");

JerseyServletModule で

serve("/v1/*").with(GuiceContainer.class, params);

そのため、Shiro からの AOP はまだフィルタリングされていません。

0 投票する
0 に答える
346 参照

java - Guice を使用して Web アプリケーションでサービスを開始/停止するにはどうすればよいですか

私は Web アプリケーションを構築しており、Guice Servlet 拡張機能を使用してすべてをブートストラップしています。

私が見つけたユーザーガイドと例に従って、 myweb.xmlには を拡張する単一のリスナーがありますGuiceServletContextListenerリスナーで、ここで説明されているようにインジェクターを作成します。

私のアプリには、サーブレットコンテキストがそれぞれ初期化および破棄されるときに、初期化および破棄する必要があるいくつかのコンポーネントがあります。例としては、キャッシュ マネージャー、サードパーティ API からデータを取得するクライアント、Cassandra ストアにアクセスするクライアントなどがあります。

これらのコンポーネントを初期化/破棄する適切な場所を見つけようとしています。Guice がなければ、おそらくコンテキスト リスナーで直接それを行うでしょうが、Guice はそれを促進しないようです。

私が見たのは、サービスごとにサーブレット フィルターを使用していることです。各フィルターに init/destroy を実装することで、各サービスを開始および停止できます。ただし、実際にフィルタリングする必要がない場合、サーブレットのライフサイクルにフックするだけではやり過ぎのように思えます。

他のオプションはありますか?

0 投票する
1 に答える
1112 参照

java - Guice サーブレット単体テスト

背景:guiceフレームワークを使用してサーブレットを開発していますguice-servlet。次の方法でサーブレットをテストしたいと思います。

  1. サーブレット単体テスト: get/post リクエストを提供することにより、サーブレットを他の依存関係から分離し、クライアントをシミュレートする
  2. サーブレット統合テスト: クライアントをシミュレートしますが、サーブレットの分離は行いません。また、統合テストの一環として、Guice 自体との統合をテストしたいと考えています。

質問:上記の両方の種類のテストを実行できるサーブレット テスト フレームワークを探しています。

その間、 を調べましたHttpUnitが、接続する方法が見つかりませんでしGuiceた。サーブレットは に登録できますがServletRunner、クラス名で提供されます。これは、ServletRunner が (依存関係を注入せずに) それらをインスタンス化することを意味します。

また、tadedonプロジェクトのGuiceServletMockModuleを見つけました。まさに私が探しているもののようです。しかし、それがまだ維持されているかどうかはわかりません。たとえば、maven リポジトリから maven パッケージを取得できませんでした。

ありがとう

0 投票する
1 に答える
559 参照

google-app-engine - Guice 4.0-beta5 が Sitebricks 0.8.10 で動作しない

Guice と Sitebricks (4.0-beta5) および (0.8.10) の最新バージョンを使用して、Sitebricks Web サイトのサンプル HelloWorld アプリを GAE にデプロイしようとしましたが、インジェクションは失敗しました。Google App Engine のログには次のように表示されます。

com.google.inject.util.internal パッケージが 4.0-beta5 から完全に欠落しているように思えます。それが ClassNotFoundException の原因です。4.0-beta5 の代わりに 3.0 を使用すると、問題が解決します。

両方の最新バージョンをどうにかして使用することは可能ですか? どちらも「Google 生まれのプロジェクト」であることを考えると、互換性がないことに驚かされます。Sitebricks に代わるより良い方法はありますか?

PS 余談ですが、最近 (2015 年 1 月) のコミットがいくつかあったにもかかわらず、sitebricks.org はダウンしています... プロジェクトはまだ積極的に維持されていますか?