Message Queue では、そのメッセージングサービス用の C API を備えているため、旧バージョンの C アプリケーションと C++ アプリケーションを、JMS ベースのメッセージングに加えることができます。
JMS プログラミングモデルは、Message Queue C クライアントの設計の基盤です。『Sun Java System Message Queue 3.7 UR1 Developer’s Guide for C Clients』では、このモデルが C データタイプや関数によってどのように実装されているかについて説明しています。
Java インタフェースと同様に、C インタフェースは次の機能をサポートします。
パブリッシュ / サブスクライブコネクションとポイントツーポイントコネクション
同期コンシューマと非同期コンシューマ
CLIENT、AUTO、および DUPS_OK 通知モード
ローカルトランザクション
セッションの復元
一時トピックおよびキュー
メッセージセレクタ
ただし、Java Message Service 仕様は、Java クライアントに限定した標準であることに注意する必要があります。したがって、C Message Queue API は、Message Queue プロバイダ固有の機能であり、ほかの JMS プロバイダでは使用できません。C クライアントを含んだメッセージングアプリケーションは、別の JMS プロバイダでは処理できません。
C インタフェースでは、次の機能がサポートされません。
管理対象オブジェクトの使用
マップ、ストリーム、またはオブジェクトメッセージのタイプ
コンシューマベースのフロー制御
キューブラウザ
JMS アプリケーションサーバー機能 (コネクションコンシューマ、分散トランザクション)
SOAP メッセージの受信または送信
圧縮された JMS メッセージの受信または送信
自動再接続またはフェイルオーバー。コネクションに障害が発生した場合、クライアントランタイムが自動的にブローカへ再接続できるようにします
NO_ACKNOWLEDGE モード