問題タブ [weld]

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 投票する
1 に答える
2516 参照

seam - Seam3 と Weld CDI は同じものですか?

ばかげた質問のように思えるかもしれませんが、私は本当に混乱しています。Seam 3 と Weld CDI は同じものですか? 「CDI (Weld) / Seam 3」に言及している投稿をいくつか読んでいますが、それらは同じものと見なす必要がありますか?

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

jakarta-ee - Java EE で CDI を使用して main() を記述する方法は?

実行したい非クライアント アプリケーションがあります。クライアントはありませんが、HTTP 呼び出しを行い、他のサービスのクライアントとして機能します。おそらく数時間または数日実行されます (ただし、定期的な実行は必要ありません。1 回だけ実行するだけです)。

標準の Context Dependency Injection (CD) と標準の JAX-RS クライアント (Java EE 7 以降の新機能) の利点があるため、Java EE 7 コンテナーで実行したいと考えています。JMS、JPAなどのサービスがあるのもうれしい。

問題は、標準的な方法で main メソッドをどのように記述/注釈付けするかです。@Injectそのようなメソッドはすぐに返さなければならないので、メソッドをオンにするのは良くありません。@Scheduleプログラムで現在のシステム時間を決定しない限り、定期的に実行されるため、理想的ではありません。

私が思いついた最善の方法は、メソッドにワンショットを設定しTimer@Injectメイン メソッドに で注釈を付けること@Timeoutです。

どういうわけか、これは少しもろく、またはエレガントではないようです。サービスを開始するためのより良い標準的な方法はありますか? それを開始して開始させるだけの注釈はありますか?

さらに、アンデプロイ時にサービスを中断してシャットダウンするための標準的な最良の方法は何ですか?

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

java - 溶接 CDI 環境での並列 Web サービス アクセス

Tomcat で JSF 2 と Weld Cdi を使用して Web フロントエンドを開発しています。
現在、リクエスト時間を最適化するために複数の Web サービスを並行して実行する際に問題が発生しています。
ユーザーは、リストから複数の項目を選択できます。
選択された項目ごとに、リスト キーをパラメーターとして使用して、プロセスが 1 つの Web サービスからその情報を収集します。

私の現在のアプローチは、Bean に注入される Web サービス ポート インターフェイスを返す Producer を使用することです。Bean は、選択されたキーごとにループでこの Web サービスを呼び出します。

高速化するために、Future を返す ExecutorService と必要な数のワーカーを使用しようとしました。

この構成の問題は、ワーカーにサービス ポートを挿入できないことです。これは、ワーカーが管理されていないためです。サービス ポートを手動で作成することは機能しますが、プロデューサー クラスを無視するため、高く評価されません。

また、テスト時に、定義済みの結果セットを提供するダミーのサービス ポートを挿入することはできません。

tomcat-weld 環境での並列実行について何も見つからなかったので、私のアプローチに何か問題があるに違いありません。

このような状況を解決するための正しいアプローチは何ですか?

編集:私が試したことをより明確にするために...

}

このようにすると、ワーカーは管理されません。

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

java - CDI を使用したテスト、Bean のモック

CDI でどのようにテストを行っているのか疑問に思っています。注入中のクラスのモック。

クラスがある場合:

My ItemProcessor をテストしたいときに、テスト中に ItemDao クラスをモックしたい場合はどうすればよいですか?

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

cdi - WicketTester と CDI-Unit を使用した単体テストは Eclipse で機能しますが、Maven ビルド中に失敗します。私は何が欠けていますか?

CDI-Unit を使用して、依存関係の挿入に CDI を使用している Wicket コンポーネントをテストしようとしています。テストは Eclipse で完全に機能しているように見えますが、Maven ビルド中に失敗し、ヒントや何が問題なのかを見つけることができません。

シンプルな抽象 WicketPanel を作成しました

そして注射工場:

次に、CDI-Unit を使用して単体テストを作成します。

TestPanel は含めていませんが、非常に単純です (そして多かれ少なかれ空です)。

これを Eclipse で実行すると、テストは緑色でパスします。

これをMavenで実行すると、次のようになります。

私が間違っていることの手がかりはありますか?

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

java - Tomcat 7 コンテナーを使用した Weld 2.0 プロジェクトの構成エラー

tomcat7 で戦争プロジェクトを展開しようとすると、次の問題/エラーに直面しています:

(溶接サーブレット 1.1.12 final でのみプロジェクトをデプロイできました)

情報: validateJarFile(C:\Java\workspace_plataforma_arq.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\educacao_empreendedora\WEB-INF\lib\jboss-el-api_3.0_spec-1.0.0.Alpha1 .jar) - jar がロードされていません。サーブレット仕様 2.3 のセクション 9.7.2 を参照してください。問題のあるクラス: javax/el/Expression.class 2013 年 6 月 11 日午後 4:47:05 org.apache.catalina.loader.WebappClassLoader validateJarFile 情報: validateJarFile(C:\Java\workspace_plataforma_arq.metadata.plugins\org.eclipse.wst .server.core\tmp0\wtpwebapps\educacao_empreendedora\WEB-INF\lib\weld-servlet-2.0.1.Final.jar) - jar がロードされていません。サーブレット仕様 2.3 のセクション 9.7.2 を参照してください。問題のあるクラス: javax/el/Expression.class

POM:

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

jakarta-ee - CDI - 継承: 基本型のトリガー プロデューサー

ある種のプロデューサーファクトリーパターンを実装しようとしています。
派生型を注入しているときに、基本型のプロデューサー メソッドをトリガーすることは何とか可能ですか?

次のインターフェイスを想定しています。

このプロデューサーをトリガーしたい:

この注入ポイント:

目的は、マーカー インターフェイス (この場合はサービス) を追加することで、さまざまな種類のサービスに対して 1 つのプロデューサー ファクトリを用意することです。

私を助けてくれてありがとう


アップデート:

LightGuards ソリューションを試し@Typed、AService 実装に追加しました。

残念ながら、満たされていない依存関係のエラーが発生します。CDIは、注入ポイントのServiceプロデューサーを呼び出しません。AService確かに、これは型安全性の理由から理にかなっています。Serviceしかし、プロデューサーの呼び出しを強制する方法はありますか?