Java から IBM MQ へのアクセス-API の選択
IBM® MQ は、3 つの Java 言語インターフェースを提供します。
![[MQ 9.3.0 Jun 2022]](ng930cd.gif)
IBM MQ classes for Jakarta Messaging- IBM MQ classes for JMS
- IBM MQ classes for Java
IBM MQ classes for Jakarta Messaging
![[MQ 9.3.0 Jun 2022]](ng930cd.gif)
IBM MQ classes for Jakarta Messaging は、 Jakarta Messaging 3.0 API を使用して作成されたアプリケーションが IBM MQ をメッセージング・プロバイダーとして使用できるようにします。
Jakarta Messaging は、 Java アプリケーションにおけるメッセージングの戦略的方向性です。
Jakarta Messaging 3.0 は JMS 2.0と機能的に同等です。詳しくは、 Using IBM MQ classes for JMS/Jakarta Messagingを参照してください。
IBM MQ classes for JMS
IBM MQ classes for JMS では、 JMS 2.0 API を使用して作成されたアプリケーションが IBM MQ をメッセージング・プロバイダーとして使用できます。
Jakarta Messaging supersedes JMSとして、 IBM MQ classes for JMS は、既存のアプリケーション、または Jakarta Messagingをサポートしない環境 ( WebSphere® Application Serverなど) で使用することをお勧めします。
同じアプリケーションで IBM MQ classes for Jakarta Messaging と IBM MQ classes for JMS の両方を使用することはサポートされていません。
詳しくは、 Using IBM MQ classes for JMS/Jakarta Messagingを参照してください。
IBM MQ classes for Java
Java アプリケーションが IBM MQ リソースにアクセスするために使用できるその他の API は、 IBM MQ classes for Javaです。これは、プログラムが IBM MQ をメッセージング・プロバイダーとして使用するための IBM MQ指向の API を提供します。 ただし、 IBM MQ classes for Java は、 IBM MQ 8.0で出荷されたレベルで機能的に安定化されています。 詳しくは、 IBM MQ classes for Java を使用する理由を参照してください。 IBM MQ classes for Java を使用する既存のアプリケーションは引き続き完全にサポートされますが、新しいアプリケーションでは IBM MQ classes for Jakarta Messagingを使用する必要があります。
IBM MQ classes for JMS および IBM MQ classes for Jakarta Messaging の共通機能
IBM MQ classes for JMS および IBM MQ classes for Jakarta Messaging は、 IBM MQの Point-to-Point メッセージング機能とパブリッシュ/サブスクライブ・メッセージング機能の両方へのアクセスを提供します。 アプリケーションは、 JMS 標準メッセージング・モデルのサポートを提供する JMS メッセージを送信するだけでなく、追加ヘッダーなしでメッセージを送受信することもできるため、他の IBM MQ アプリケーション (C MQI アプリケーションなど) と相互運用することができます。 MQMD および MQ メッセージ・ペイロードの完全な制御が可能です。
メッセージ・ストリーミング、非同期書き込み、レポート・メッセージなどのその他の IBM MQ 機能も使用できます。
提供されている PCF ヘルパー・クラスを使用すると、 JMS API を介して IBM MQ PCF 管理メッセージを送受信でき、キュー・マネージャーの管理に使用できます。
最近 IBM MQに追加された機能 (非同期コンシュームや自動再接続など) は、 IBM MQ classes for Javaでは使用できませんが、 IBM MQ classes for JMS および IBM MQ classes for Jakarta Messagingで使用できます。
機能拡張の要求
IBM MQ classes for JMS および IBM MQ classes for Jakarta Messagingを介して使用できない IBM MQ 機能にアクセスする必要がある場合は、アイデアを提案できます。
IBM は、 IBM MQ classes for JMS 実装または IBM MQ classes for Jakarta Messaging 実装で実装が可能かどうか、またはフォローできるベスト・プラクティスがあるかどうかをアドバイスできます。
追加のメッセージング・フィーチャーについては、 IBM がオープン・スタンダードのコントリビューターであるため、これらのフィーチャーを JCP プロセスの一部として提示することができます。 これらは Jakarta Messaging にのみ適用されます。