MQ Transport and Oracle JCA Adapter for MQ Series

Oracle Service BusでWebSphere MQと対話する場合、以下のような方法があります。

  • ネイティブMQライブラリを使う
    • MQ Transport
    • Oracle JCA Adapter for MQ Series (以下MQ Adapter)
  • MQJMSとして取り扱う
    • JMS Transport
    • Oracle JCA Adapter for JMS (以下JMS Adapter)

このエントリで対象とするのは、ネイティブMQライブラリを使って対話する方法です。
MQ TransportはAquaLogic Service Busの時代からあったもの、MQ AdapterはOracle Service Busとして提供を始めてから追加された機能で、JCA Adapterを使った接続方法です。

同じネイティブMQライブラリを使った接続方法であったとしても、両者間で少々差異があります。

Question Answer
1 メッセージセレクタを使ってDequeueできるの? MQ Adapterでは可能ですが、MQ Transportではできません。
2 Message Id、Correlation Idを使った相関は構成できるの? どちらのパターンでも構成可能です
3 Queue Managerによる文字コード変換、エンディアンの変換はできるの? 両者ともできます。ただし、プロパティ設定方法が異なります。
4 Message Id、Correlation Idはそのまま設定していいの? いいえ、MQ AdapterとMQ Transportでは取り扱い方法が異なります(※)。

最後のMessageIdとCorrelationIdの部分を補足します。
具体的には、MQ Transportの場合、Base64でエンコードされています。つまり、DequeueするときはBase64 Decoding、EnqueueするときはBase64 Encodingが必要です。
MQ Adapterの場合、Base64ではなく、HexBinary(16進)でエンコードされていますので、DequeueするときはHexBinary Decoding、EnqueueするときはHexBinary Encodingが必要です。

anishi1222 について

とあるキャラクターの中の人です。
カテゴリー: Middleware タグ: パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中