MDB を JBOSS にデプロイしたいと考えています。ただし、パブリッシャーはメッセージを JBOSS AS に送信せず、メッセージを IBM MQ に送信しています。
JCA を使用して JBOSS と IBM MQ を統合する必要がありますか?
また
JBOSS AS 上の MDB は、IBM MQ がパブリッシャーからメッセージを取得しているトピックにサブスクライブできますか?
あるアプローチが別のアプローチに与える利点は何ですか?
IBM MQ から JBoss でメッセージを消費するための推奨される方法は、メッセージ駆動型 Bean (MDB) を使用することです。これは、JBoss に IBM JCA リソース アダプター (RA) をデプロイすることによって行われます。この rar ファイルには、IBM MQ との通信に必要な IBM MQ クライアント コードが含まれているため、JBoss で IBM RA を使用する必要があります。
MDB アプローチを使用する場合、コンテナー (この場合は JBoss) は JCA と連携して、JMS 接続、メッセージ配信、およびトランザクションを管理します。これにより、 onMessage() メソッドを記述するだけで済みます。内部でかなり多くのことが行われます。
はい、確かに、MQ のトピックにサブスクライブされた JBoss で MDB を持つことができます。
WebSphere MQ Resource Adapter (WMQRA) を JBoss にデプロイしてから、JBoss で WMQ RA JCA リソース (アクティベーション・スペック、キュー/トピック) を構成する必要があります。これにより、MDB をデプロイできるようになり、JCA リソースが、メッセージが存在する WMQ キュー マネージャーおよびキュー/トピックへの接続を処理します。
JBoss で WMQ RA をセットアップするためのガイドがインターネット上にいくつかあります。