問題タブ [jboss-mdb]
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 - MDB アノテーションに対する構成可能な値
EJB3 アプリでメールを受信するためにこのメソッドを使用しようとしています。つまり、次の注釈を使用して MDB を作成することを意味します。
これは機能していますが、状況は理想的とは言えません。ホスト名、ユーザー名、およびパスワードがハードコードされています。ant と build.properties を使用してコンパイル前にこれらの値を置き換える以外に、それらを外部化する方法がわかりません。
MBean を使用するのが理想的ですが、MBean から MDB 構成に値を取得する方法がわかりません。
どうすればいいですか?
java - グラスフィッシュの Java ヒープ領域エラー
カスタマイズがほとんどない新しいGlassfishインストールを使用しています。
トピックをリッスンし、データベースで受信したオブジェクトを更新するメッセージ駆動型 Bean (ObjectUpdateMDB) があります。多くのオブジェクトが更新されています。しばらく実行すると、次の例外が発生します。
ヒープスペースに問題があるようです。ヒープ領域を調整する必要があるのは何ですか? アプリケーションサーバー自体ですか、それともブローカーですか? どうすればいいですか?
java - EJB 3、ステートフル セッション Bean と連携するメッセージ駆動型 Bean?
おい!私はJava EEとStackowerflowの両方に比較的慣れていないので、親切にしてください:-)
状態が変化したときに Java メッセージを送信するトリガーとなるデバイスがたくさんあります。これらのデバイスは通常、約 30 ~ 90 分間隔でアクティブになります。各イベント メッセージには、イベントの詳細に加えてデバイス ID が含まれています。
私のアプリケーションの中心は、これらのイベントをサブスクライブするメッセージ駆動型 Bean です。イベントを取得するたびに、データベースにアクセスしてデバイスに関する情報を検索する必要があります。
ステートフル セッション Bean をアクティブな各デバイスに関連付けることができれば、非常にすばらしいことです。これが Web アプリケーションであった場合、http セッションを使用して、ステートフル Bean へのハンドルまたは参照を格納していたでしょう (そうですよね?)。メッセージ Bean からこれをアーカイブする方法はありますか?
jpa - REQUIRES_NEW注釈付きメソッドはトランザクションなしで実行されますか?
エンティティをデータベースに永続化するためのステートレスBeanがあります。このステートレスBeanは、メッセージBeanのonMessageメソッドによって呼び出されます。有線のことは、最初のメッセージではすべてが正常に機能しますが、次のメッセージでは、メソッドにREQUIRES_NEWの注釈が付けられていても、永続化を担当するメソッドがトランザクションの外部で呼び出されます。
リフレッシュを呼び出すと、次の例外がトリガーされます。
原因:javax.persistence.TransactionRequiredException:進行中のトランザクションはありません
何か案は?私はJTAにかなり慣れていないので、何か重要なことを見逃した可能性がありますか?
jboss - JBoss 4.0.5 MDB 設定
これは私を打ち負かしています、そして私はそれを理解することができませんでした...だからここに行きます. .ear ファイルとしてパッケージ化されたメッセージ ドライブ Bean をアプリに追加したい
ドキュメントに従って、jboss.xml と ejb-jar.xml を作成しました。これを META-INF とルート、および WEB-INF に配置しようとしましたが、動作しているとは思えません (つまり、 MDB はロードされず、メッセージも受信されません。
私の耳のファイルは次のようになります。
java - メッセージドリブンビーンセレクター(JMS)
最近、メッセージセレクターを発見しました
私の質問は、実行時にセレクターを動的にするにはどうすればよいですか?
消費者が「FragileISFALSE」というプロパティを持つメッセージのみが必要だと判断したとします。
コンシューマーは、MDBを再デプロイせずに、何らかの方法でセレクターを変更できますか?
注:Glassfishv2.1を使用しています
jdbc - JMS サーバーの制御: 作成された MDBean が多すぎます (weblogic)
遅延操作を行うアプリケーションがあります。ユーザーは JMS キューに保存される 100 万のメッセージを生成し、MDBeans はこれらのメッセージを消費し、何らかのアクションを実行してデータベースにデータを保存します。JMS キューの動作が速すぎるため、100 万の MDBean インスタンスを作成しようとし、さらに 100 万のデータベース接続を作成しようとします。JDBC 接続プールは 100 万の接続要求を処理できないため、それらの一部がタイムアウトすることは驚くことではありません。
作成される MDBean の数を制御するための最適なソリューションは何ですか? JDBC プールで許可されている接続数を超えない特定の数の MDBean によって 100 万のメッセージが処理される方がよいでしょう。
java - JMS メッセージ駆動型 Bean ワーカーの同期
JMS アーキテクチャの構築を開始したばかりで、次の基本設定があります。
- グラスフィッシュ v2.1
- TopicConnectionFactory を介してトピックをリッスンする MDB (すべてローカル サーバー上)
現在、MDB は新しいメッセージが到着するとワーカー スレッドを生成します。メッセージを順番に配信する場合でも、要求を同時に処理する前にスレッドが特定の条件をチェックするように同期メカニズムが必要です。
これらのスレッドがデータを共有する方法はありますか? または、同期に使用できる他のメカニズム (データベース テーブル/行ロックを除く) はありますか?
前もって感謝します。
明確にするために、私は自分のスレッドを作成していません。誰もが正しく指摘したように、コンテナは私のためにそれを行います. 私のジレンマを例を挙げて説明しましょう。
-メッセージ A は t=0 に到着し、データ ID 1 を「作成」します
- メッセージ B は t=0.1 に到着し、データ ID 1 を「更新」します
ここで、コンテナーが A と B を処理する 2 つのワーカーを生成し、データを更新するよりもデータを「作成」する方がはるかに時間がかかると仮定すると、更新はより早く処理され、効果はありません。
より明確にするために、
-メッセージ B の処理中に、t=1 でデータ ID 1 を探します (見つからないため、何もせずに終了します)。
- データ ID 1 は、t=2 でメッセージ A を処理中に作成されます。
jakarta-ee - MDB (EJB3.0) で実行中のジョブ ステータスについて Web モジュールに通知するにはどうすればよいですか?
メッセージ駆動型 Bean を使用して、大きなレポートを生成し、永続的なタスクを処理しています。MDB は、クライアント ポーリングなしでジョブ ステータスについて Web モジュール fe セッション リスナーにどのように通知できますか?
前もって感謝します。