問題タブ [jboss-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.
tomcat - サーブレット3.0コンテナ内のフィルタおよびサーブレットの外部へのCDIインジェクション
私はついにTomcatのWeldを見てみることにしました。アプリをデプロイすると、ログに次のように表示されます。
「Tomcat7が検出されました。CDIインジェクションはサーブレットとフィルタで利用可能になります」
たとえば、フィルタ/サーブレットの外部でBeanManagerを使用してBeanのインスタンスを作成するにはどうすればよいですか?
私は豆を持っています:
そして、指定されたリクエストコンテキストに対してBeanManagerを使用してそのインスタンスを作成したいと思います。
これがサーブレット/フィルタで実行できる場合は、他の場所でも実行できると確信していますが、Weldコードを調べて、最初に質問せずに自分で理解したくありません。
どうもありがとうございます。
java - JPAエンティティを永続化しようとしたときにエラーが発生しました
クラスからエンティティを永続化しようとすると、エラーが発生します。クラスUserControllerを作成しましたが、Registerメソッドを実行しようとすると、エラーが発生します。このコードをUserRegBean内で直接実行すると、機能します...誰かが私を助けてくれます..。。
コードは次のとおりです。
UserController.java
UserRegBean.java
エラー:
jakarta-ee - スタック トレースのない「アプリの読み込み中の例外」
アプリを GlassFish 3.0.1 から GlassFish 3.1.1 に移行しています。デプロイが失敗し、次のエラー メッセージが表示されます。
スタック トレースはありません。ルート ログ レベルを FINEST に設定すると、Weld メッセージの後に最初の SEVERE メッセージが表示されます。
そして、これらのようないくつかのメッセージの前に (いくつかの異なるクラスに対して):
このエラーの原因は何ですか? これらの PWC4451 メッセージは、一部のライブラリがロードされていないことを示している可能性がありますか?
java - WELD-001318あいまいな依存関係を解決できません
次のようにアプリケーションをデプロイするとエラーが発生します。
そして、私はヘッダーがこのように見えるそのようなメソッドだけを持っています
そしてクラスはこれらを持っています
助けてください。このエラーは、おそらく私のコードよりもあいまいです。
android - Android での Weld/CDI による依存性注入
Androidの CDI ( Weld )のリファレンス実装で依存性注入を使用することは可能ですか?
はいの場合 (Weld には Java 1.5 が必要なようで、実際の障害はないはずです) - 例/リソースはありますか?
ありがとうございました
java - Weld/Seam3 アプリケーションでの POJO の起動
Weld/Seam3 アプリケーション内で起動時に POJO を開始しようとしていますが、うまくいきません。私は次のことを試しましたが、どれもうまくいきませんでした:
-
しかし、それらの方法はどちらも機能しませんでした。私のログメッセージは決して発生しませんでした。このアプリケーションは Tomcat6 で実行されており、「org.jboss.weld.environment.servlet.Listener」リスナーを web.xml に追加する必要があったため、クラスが発生させて観察できるものがあるかどうか疑問に思っています。とはいえ、特に気にしたことはありません。
他に何を試すことができるか手がかりはありますか?
jboss-weld - Weld (CDI): 構成するテスト専用の beans.xml はどこに置くのですか??
beans.xml
私の webapp には、 の下に空でないプロダクションがありsrc/main/resources/META-INF
ます。ここで、テストのために、1 つの Bean を別の Bean と交換する必要があります。
beans.xml
これだけを含むこのテストはどこに置くのですか?
下で試してみましsrc/test/resources/META-INF
たが、それは無視されます。私は arquillian を使用しており、テスト クラスパスが ShrinkWrap に追加されています。
jsf - CDIプロデューサーメソッドを参照すると、h:selectOneMenuになります。
オブジェクトを返すCustomerRegistration
名前付きプロデューサーメソッドを持つ名前付きセッションスコープのBeanがあります。データベースからすべての顧客をリストとして作成するクラスもあります。selectCustomer.xhtmlページで、ユーザーは顧客の1つを選択し、その選択をアプリケーションに送信できます。アプリケーションは、選択した顧客の名前を印刷するだけです。getNewCustomer
Customer
CustomerListProducer
これは、を介してファセットページで選択した顧客を参照する場合にのみ機能します#{customerRegistration.newCustomer}
。単純に使用すると、フォームを送信するたびに#{newCustomer}
姓の出力が返されます。null
何が起きてる?これは、7.1章JSR-299仕様のBeanインスタンス化の制限によると予想される動作ですか?
それは言う:
...ただし、アプリケーションがBeanクラスを直接インスタンス化する場合、コンテナにインスタンス化を実行させるのではなく、結果のインスタンスはコンテナによって管理されず、6.5.2項「豆"。さらに、セクション2.1「コンテナによってBeanに提供される機能」にリストされている機能は、その特定のインスタンスでは使用できません。デプロイされたアプリケーションでは、Beanのインスタンス化と依存関係の初期化を担当するのはコンテナーです。..。
コードは次のとおりです。
Customer.java:
CustomerListProducer.java:
CustomerRegistration.java:
selectCustomer.xhtmlが機能しない:
selectCustomer.xhtmlの動作:
CustomerConverter.java:
code-injection - CDIを溶接する:1つのBeanクラスを複数の修飾子のいずれかを満たす方法は?
Weld docs を読むと、これはできないと思いますが、実際にはできると思います。CDI で方法がない場合は、パターンの回避策があるかもしれません...
メンバーを持つカスタム修飾子を作成しました:
JobType は列挙型です。
ほとんどのジョブは少し異なる方法でビルドする必要があるとします。そのため、ジョブに関連するビルダー クラスがあります。これらには、関連する JobType が指定された JobBinding アノテーションが付けられます。
ビルドする必要があるときは、プログラムによるルックアップを使用します。
JobBindingQualifier はカスタム クラスです。
これまでのところ、すばらしい - CDI は見事に機能しています。しかし、これらのジョブのうち、JOB_X と JOB_Y の 2 つがまったく同じ方法で組み込まれている場合はどうなるでしょうか。これらのオプションnew JobBindingQualifier(JobType.JOB_X)
またはnew JobBindingQualifier(JobType.JOB_Y)
.
JobXAndYBuilder
と の両方@JobBinding(JOB_X)
で注釈を付けると@JobBinding(JOB_Y)
、重複した注釈に関するコンパイラ エラーが発生します。これを回避するには、アノテーションの値を JobTypes の配列に変更し、次のようにビルダーにアノテーションを付けます。
配列を生成するために省略記号を使用してそこで呼び出されるコンストラクターを使用します。ただし、それを行った場合、 jobTypes のいずれかを使用してプログラムでそれを調べるにはどうすればよいでしょうか? 溶接のドキュメントでは、両方が必要であることが示唆されています。正確な引数を提供する必要があります。
クラスを検索するのに十分などちらかが必要な場合:
配列を使用すると、検索時に一致する必要がある値が実際に変更されます。同じ修飾子アノテーションでクラスに 2 回アノテーションを付け、それらの任意の組み合わせでそれを検索できる方法が本当に必要です。それ以外の場合は、X と Y のそれぞれにビルダー クラスを提供する必要があります。何か案は?前もって感謝します!
java - 溶接とJavaSE
私はWeldを初めて使用し、その概念に頭を悩ませようとしています。私はSpringの経験が少しあり、Guiceの経験はないので、DIフレームワークの初心者です。
これはCDIを紹介するチュートリアルですが、Webアプリのコンテキストです。これがJavaSEだけでどのように機能するかを知りたいです。次のクラスを作成しましたが、Java SEアプリでDefaultItemDaoクラス(またはその他の代替)を使用してItemProcessorのexecuteメソッドをテストする方法がわかりません。
クラスは次のとおりです。
また、ItemProcessorクラスのテストクライアントを作成する方法がわかりません。誰かがCDIで書く方法を理解するのを手伝ってもらえますか?
ありがとう、クマール