問題タブ [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.
java - WELD-000315 会話ロックの取得に失敗しました
JBoss EAP 6 で PrimeFaces 3.4.2 と CDI を使用して JSF 2 アプリケーションを作成しています。アプリケーションには、3 ページの長時間の会話を使用するセクションがあります。ユーザーが会話を使用する最初のページに移動すると、他のページへの 2 つのリンクがあります。
どちらの方法でも、ナビゲーション ルールを使用してページ間を移動します。
navigateToIfg() は次のルールを使用します。
navigateToJob() は次のルールを使用します。
このアプリケーションには、クリックを sessionscoped Bean に通知する ap:remoteCommand をトリガーするグローバル オン クリック JavaScript リスナーもあります。そのため、ユーザーが IFG または JOB に移動しようとすると、以下もトリガーされます。
ナビゲーションとクリックリスナーが近くで発火すると、次の警告が表示されると思います。
WELD-000315 ID: 1 の会話の会話ロックを 1,000 取得できませんでした
これにより、アプリケーションで他の例外やエラーが発生します。最後に、問題は常に一貫しているわけではありません。すぐに発生する場合もあれば、同じ手順を使用しても発生しない場合もあります。自分が間違っていることと、この問題を修正する方法を理解する必要があります。
更新:
誰でもこの警告を説明できますか? どういう意味ですか?具体的にはどのように引き起こされるのでしょうか。私のJSFアプリケーションが制御するものとは思えません。この場合、JBoss EAP 6 (JBoss AS 7.1.3) の Web アプリに固有のようです。
java - Weld @Inject ApplicationScope Bean は、すべての注入ポイントで新しいインスタンスを作成します
Weld を使用して CDI を理解しようとしています。次の構造を取得しました。
FooFacade も @ApplicationScope です。
アプリの起動時に MainFacade インスタンス = 1 を取得しました。それを他のクラス (GWT RPC サーブレット) に挿入し、mainFacade.getFooFacade() を呼び出すと、MainFacade の新しいインスタンスが fooFacade の新しいインスタンスと共に作成されます。
Weld は、どこに注入しても同じアプリケーション スコープ Bean のインスタンスを返すと考えました。私が間違っていることは何ですか?
jakarta-ee - TomEE で OpenWebBeans の代わりに Weld CDI を使用する
Mojarra と Weld を使用して、Apache TomEE で WebApp を実行したいと考えています。
「javax.faces-2.1.21.jar」と「weld-servlet.jar」を /WEB-INF/lib ディレクトリに配置しました。また、空の「beans.xml」を WEB-INF フォルダーに追加しました。私の「web.xml」は次のようになります。
/WEB-INF/web.xml
アプリケーションを Tomcat にデプロイすると正常に動作しますが、TomEE ではサーバーの起動時に次のエラーが発生します。
TomEE が既に別の CDI フレームワーク (OpenWebB) を使用しているため、問題はありますか? Weld で TomEE を実行する可能性はありますか?
jakarta-ee - CDI への静的ユーティリティ メソッド (Weld JEE6)
ユーティリティ クラスに単純な古いスタイルの静的メソッドがあります。毎回必要なパラメータ化されたオブジェクトのために、「CDI」に苦労しています。
つまり、ユーティリティ クラスを複数のクラスに注入し、必要に応じて以下の (および同様の) メソッドを呼び出したいと思います...ユーティリティ クラスは、正しいパラメータで毎回 ByteArrayInputStream、ObjectInputStream を注入します...
古いクラス:
ありがとう...
java-ee-6 - CDI Producer(s) 同じクラスの異なるバージョン
SimpleDateFromat オブジェクトを生成する JEE6 シンプル プロデューサー クラスがあります。
次のいずれかを行います。
- 新しいプロデューサーを作成し、クラスでどの DateFormat がどこに注入されるかを何らかの形で指示できるようにするか、または...
- 既存のプロデューサーを編集して、渡されたパラメーターに基づいて別の SimpleDateFormat を生成します。
どのように達成すればよいですか?
jakarta-ee - Seam から Weld CDI への変換
プロジェクトを Seam から CDI に変換していますが、これらの分野ではまったくの初心者です。@Startup、@Cretae、@RequestParameter、@Out、@AutoCreate、@ Destroy タグの変換に行き詰まっています。Weld CDI でこれらのタグの代替手段は何ですか?
jakarta-ee - Weld のスタートアップ クラス
@Singleton および @Startup アノテーション (Tomcat 7 で実行) を使用して Weld CDI でアプリケーションのスタートアップ クラスを定義しようとしていますが、PostConstruct メソッドが呼び出されません。
ここに私のスタートアップクラスがあります:
これらの 2 つの投稿で見つけたヒントを試してみました WELD を使用した Startup POJOとStartup EJB は機能しませんが、どちらも役に立ちませんでした