メッセージキュー 4.2 は、いくつかの新機能、機能拡張、およびバグ修正を実装したマイナーリリースです。ここでは 4.2 リリースの新機能について説明するとともに、詳細な情報の参照先を示します。
メッセージキュー 4.1 および 4.0 で導入された機能については、それぞれ、「メッセージキュー 4.1 の新機能」および「メッセージキュー 4.0 の新機能」を参照してください。
メッセージキュー 4.2 では、パブリッシャーは複数のトピック送信先にメッセージを発行でき、サブスクライバは複数のトピック送信先からメッセージを消費できます。この機能は、トピック送信先の名前にワイルドカード文字を使用して、複数の送信先を表すことにより実現されます。そのような記号名を使用することにより、管理者は、必要な場合に、ワイルドカードのネーミングスキームに整合する追加のトピック送信先を作成できます。送信先が追加されると自動的に、パブリッシャーはその送信先に発行し、サブスクライバはその送信先から消費するようになります。ワイルドカードトピックのサブスクライバの方が、パブリッシャーよりも一般的です。
この機能は、キュー送信先には適用されません。
記号によるトピック送信先名の形式と使用例については、『Sun GlassFish Message Queue 4.4 Administration Guide』の「Supported Topic Destination Names」を参照してください。
この機能は メッセージキュー 4.2 で導入され、メッセージがブローカに送信された時点で、テキスト (オブジェクトではない) の XML メッセージの XML スキーマを検証できます。XML スキーマ (XSD) の場所は、Message Queue 送信先のプロパティーとして指定されます。XSD の場所が指定されていない場合は、XML ドキュメント内の DTD 宣言を使用して DTD 検証が実行されます。データ型および値の範囲の検証を含む XSD 検証は、DTD 検証よりも厳格です。
この機能の使用法については、「XML ペイロードメッセージのスキーマ検証」を参照してください。
X/Open 分散トランザクションモデルに従って、分散トランザクションのサポートは、1 つ以上のリソースマネージャーで実行される操作の追跡と管理を行う分散トランザクションマネージャーに依存します。メッセージキュー 4.2 では、Message Queue C-API で XA インタフェース (分散トランザクションマネージャーと、XA 準拠のリソースマネージャーとしての Message Queue の間のインタフェース) がサポートされます。それにより、BEA Tuxedo などの分散トランザクション処理環境で実行される Message Queue C-API クライアントが、分散トランザクションに参加できます。
この分散トランザクションのサポートは、次に示す、XA インタフェース仕様を実装するための新しい C-API 関数 (および新しいパラメータとエラーコード) から成ります。
MQGetXAConnection() MQCreateXASession()
C クライアントアプリケーションを分散トランザクションのコンテキストで使用する場合は、MQGetXAConnection() を使用して接続を取得し、MQCreateXASession() を使用して、メッセージを生成および消費するためのセッションを作成します。すべての分散トランザクションの開始、コミット、およびロールバックは、分散トランザクションマネージャーが提供する API によって管理されます。
分散トランザクション機能の使用法については、『Sun GlassFish Message Queue 4.4 Developer’s Guide for C Clients』の「Working With Distributed Transactions」を参照してください。
メッセージキュー 4.2 には、Tuxedo トランザクションマネージャーに基づくプログラミング例が用意されています。これらのサンプルプログラムの使用法については、『Sun GlassFish Message Queue 4.4 Developer’s Guide for C Clients』の「Distributed Transaction Sample Programs」を参照してください。
分散トランザクション機能は、Solaris、Linux、および Windows プラットフォームでサポートされますが、現時点で保証されているのは Solaris プラットフォームのみです。
Message Queue インストーラが、メッセージキュー を Sun Connection に登録できるように拡張されました。Sun Connection は、Sun のハードウェアとソフトウェアの追跡、構成、および維持を支援するために Sun が提供するサービスです。
メッセージキュー のインストール中に、メッセージキュー を Sun Connection に登録するかどうかを選択できます。インストールした Message Queue に関する情報、たとえば、リリースバージョン、ホスト名、オペレーティングシステム、インストール日などの基本情報は、Sun Connection のデータベースに安全に転送されます。Sun Connection のインベントリサービスは、Sun のハードウェアとソフトウェアの構成 に役立ちます。また、更新サービスでは、最新のセキュリティー修正、推奨される更新、および機能拡張に関する情報を得ることができます。
Sun Connection への メッセージキュー の登録については、『Sun GlassFish Message Queue 4.4 Installation Guide 』を参照してください。
メッセージキュー 4.2 では、JDBC ベースのデータストアとして MySQL データベースのサポートが導入されました。スタンドアロンブローカ用の JDBC データベースとして、MySQL Cluster Edition を使用できます。MySQL Cluster Edition は、拡張ブローカクラスタに必要な高可用性共有データストアとして使用することもできます。MySQL を使用するための メッセージキュー の設定については、『Sun GlassFish Message Queue 4.4 Administration Guide』の「Configuring a JDBC-Based Data Store」および『Sun GlassFish Message Queue 4.4 Administration Guide』の「Enhanced Broker Cluster Properties」を参照してください。
先に述べた機能に加え、メッセージキュー 4.2 では次の拡張機能が導入されました。
リモートで生成されたメッセージのメトリック
メッセージキュー 4.2 には、ブローカクラスタでの送信先の監視に役立つ新しい送信先メトリックが含まれています。ブローカクラスタで、クラスタ内の特定のブローカ上の特定の送信先に格納されるメッセージには、クラスタ内のリモートブローカからその送信先に送信されるメッセージだけでなく、直接その送信先に対して生成されたメッセージもあります。ブローカクラスタでのメッセージのルーティングと配信を分析する際に、送信先のメッセージのうち、ローカルで生成されたメッセージの数と、リモートで生成されたメッセージの数を調べると訳に立つことがあります。
メッセージキュー 4.2 では、2 つの新しい物理送信先メトリック量として Num messages remote と Total Message bytes remote が導入されました。新しいメトリック量は、imqcmd list dst コマンドと imqcmd query dst コマンド (『Sun GlassFish Message Queue 4.4 Administration Guide』の「Viewing Physical Destination Information」を参照)、および JMX 属性 (『Sun GlassFish Message Queue 4.4 Developer’s Guide for JMX Clients』の「Destination Monitor」を参照) を通して使用できます。
ワイルドカードプロデューサとワイルドカードコンシューマの情報
送信先名でのワイルドカード文字の使用をサポートするための情報 (「パブリッシャーまたはサブスクライバの複数の送信先」を参照) が、新しい監視データを通して提供されます。たとえば、送信先に関連付けられたワイルドカードプロデューサまたはワイルドカードコンシューマの数は、imqcmd query dst コマンド (『Sun GlassFish Message Queue 4.4 Administration Guide』の「Viewing Physical Destination Information」を参照) と、新しい JMX 属性 (『Sun GlassFish Message Queue 4.4 Developer’s Guide for JMX Clients』の「Destination Monitor」を参照) を通して使用できます。また、ワイルドカード情報は、コンシューママネージャーの監視 MBean およびプロデューサマネージャーの監視 MBean を通しても使用できます。
Support for DN Username Format for Client Authentication
メッセージキュー 4.2 では、LDAP ユーザーリポジトリによるクライアント接続認証で DN ユーザー名形式のサポートが導入されました。そのため、次の新しいブローカプロパティー (および値) が追加されています。
imq.user_repository.ldap.usrformat=dn
このプロパティーにより、ブローカは、次のプロパティーで指定された属性の値を DN ユーザー名形式から抽出することにより、LDAP ユーザーリポジトリのエントリと照合してクライアントユーザーを認証します。
imq.user_repository.ldap.uidattr
ブローカは、アクセス制御操作で、前述の属性の値をユーザー名として使用します。
たとえば、imq.user_repository.ldap.uidattr=udi と指定したときに、クライアント認証ユーザー名の形式が udi=mquser,ou=People,dc=red,dc=sun,dc=com の場合、アクセス制御の実行時に「mquser」が抽出されます。
JAAS Authentication Enhancement
メッセージキュー 4.2 の JAAS 認証では、ユーザー名による認証に加えて、IP アドレスによる認証のサポートも導入されました。