3

私は現在、WebSphere-MQSeriesを使用してWebSphereAS7用の小さなEJB3アプリケーションを開発しています。これは非常にシンプルなアプリで、主に1つのMDBがキューをリッスンし、着信メッセージを変換し、抽出されたデータをデータベースに書き込みます。私はついにそれを立ち上げて実行しましたが、コード内のActivationConfigアノテーション、ibm-ejb-jar-bnd.xml、およびWAS自体のアクティベーション仕様に関して少し混乱しています。私の主な質問は、なぜそれらすべてが必要なのかということです。WASでアクティベーション仕様が必要なのに、アノテーション(@ActivationConfigProperty)を介してキュー名や宛先タイプなどを指定する必要があるのはなぜですか?キュー名?さらに、xmlファイルを介したバインディングも必要ですか?そうですか?アノテーションを介してactivationspec-nameを指定し、xmlバインディングファイルを削除することもできますか?WASでアクティベーション仕様を作成することを回避できますか?

誰かが物事を明確にできることを願っています、ありがとう。

4

1 に答える 1

2

アクティベーション仕様エンティティは、JMSプロバイダーへの接続を開き、メッセージセレクターフィルターなどのさまざまなオプションに従ってメッセージをクエリする必要があるため、回避できません。

WebSphere 7によると、InfoCenter EJB-3アノテーションは、バインディングファイルのアクティベーション仕様プロパティを置き換えることができますが、WebSphereに必要なプロパティは標準ではありません。

私の知る限り、あなたは以下を提供しなければなりません:

  • 手動で記述された、またはデプロイヤーツールで編集されたバインディングファイル

  • 管理コンソールまたは自動jython/wsadminスクリプトのデプロイメント設定プロパティで

アクティベーション仕様は、通常はメッセージのロールバック後に停止できるランタイムコンポーネントであることに注意してください。その場合、メッセージは消費されなくなり、WebSphereコンソールから再度アクティブ化するまでMDBは処理するものがありません。

于 2011-08-26T13:01:45.123 に答える