Sun GlassFish Message Queue 4.4 リリースノート

メッセージキュー 4.3 の新機能

メッセージキュー 4.3 は、多数の機能拡張とバグ修正を含むマイナーリリースです。この節では、このリリースに含まれる新しい機能を説明します。

Universal Message Service (UMS)

メッセージキュー 4.3 では、HTTP 対応デバイスから Message Queue にアクセスするための、新しい UMS (Universal Message Service) とメッセージング API が導入されました。これにより、ほとんどのアプリケーションがほかのアプリケーションと通信できるようになり、JMS メッセージングの信頼性と保証された配信による利益を受けられるようになりました。また、UMS は JMS メッセージングのスケーラビリティーを拡張し、メッセージングクライアントの数がインターネットクラスの規模に達する場合でも対応できます。

アーキテクチャー

基本的な UMS のアーキテクチャーを次の図に示します。

図 1–1 UMS のアーキテクチャー

非 JMS クライアントと JMS プロバイダ間のゲートウェイとして機能する UMS を示す図

UMS は Web サーバーで動作し、言語的に中立でプラットフォームに依存しません。UMS は、非 JMS クライアントアプリケーションと JMS プロバイダ間のゲートウェイとして機能します。UMS API を使用して送信されたメッセージを受信し、受信したメッセージを JMS メッセージに変換して、JMS プロバイダのネイティブプロトコルを使用してプロバイダ内の送信先に送信します。同様に、JMS プロバイダの送信先からメッセージを受信してテキストまたは SOAP メッセージに変換し、UMS API を通してクライアントから要求されたとおりに、非 JMS クライアントにメッセージを送信します。

単純で言語に依存しないプロトコルベースの UMS API は、Web ベースのアプリケーションと非 Web ベースのアプリケーションの両方をサポートし、スクリプトおよびプログラミング言語の両方で使用できます。API は、REST (Representational State Transfer) 形式のプロトコルを使用する単純なメッセージング API と、SOAP メッセージヘッダーにプロトコルを埋め込む XML メッセージング API の、2 つの形式で提供されます。どちらの場合も、API は単一の http 要求だけを使用して、メッセージの送信または受信を行います。

UMS API の単純性と柔軟性により、AJAX、.NET、Python、C、Java、およびその他の多くのアプリケーションで、JMS 送信先にテキストメッセージや SOAP (添付ファイルを含む) メッセージを送信したり、JMS 送信先からメッセージを受信することができます。たとえば、Python アプリケーションは .NET アプリケーションと通信でき、iPhone は Java アプリケーションと通信することができます。

メッセージキュー 4.3 では、UMS は JMS プロバイダとして メッセージキュー のみをサポートします。

その他の機能

UMS は、先に述べた単純なゲートウェイとして機能するだけではありません。ステートレスクライアントセッションだけでなくステートフルセッションもサポートします。クライアントから要求された場合、UMS はクライアントアプリケーションのセッション状態を複数のサービス要求間で維持します。UMS でコンテナ管理による認証を使用したり、Message Queue ブローカとクライアントを認証するように設定することもできます。UMS はトランザクションもサポートするため、クライアントアプリケーションは複数のサービス要求を単一の不可分な単位としてコミットまたはロールバックすることができます。

UMS は Message Queue ブローカとの単一の接続上で多数のクライアントをサポートできるため、スケーラビリティーが最大となるように、ブローカの接続サービス上の負荷を軽減します。また、UMS の能力を水平方向に拡大することで、インターネットクラスの規模のメッセージング負荷に対応することもできます。

プロトコルベースの UMS API は単純であるため、クライアント側にクライアントライブラリは必要ありません。したがって、将来的に API を拡張して、クライアントアプリケーションをアップグレードすることなく、JMS の追加機能を実装することができます。

UMS の使用法

UMS を使用するには、Servlet 2.4 以降の仕様をサポートする Web コンテナに UMS を配備し、Message Queue ブローカを起動します。次に、適切な送信先を作成し、UMS API を使用してメッセージを送受信するメッセージングアプリケーションを作成します。

メッセージキュー 4.3 の配布に含まれる UMS の imqums.war ファイルは、プラットフォームごとに次の場所にインストールされます。

.war ファイルの名前は、必要に応じて変更できます。

表 1–5 imqums.war ファイルの場所

プラットフォーム 

imqums.war ファイルの場所

Solaris 

/usr/share/lib/imq

Linux 

/opt/sun/mq/share/lib

AIX 

IMQ_HOME/lib

Windows 

IMQ_HOME\lib

imqums.warlocalhost:port で Web コンテナに配備した場合、UMS のドキュメントは次の場所で参照できます。

http://localhost:port/imqums

または、次の場所でも UMS のドキュメントを参照できます。

サポートされる Web コンテナ

現在、UMS は次の Web コンテナでサポートされます。

AIX プラットフォームのサポート

メッセージキュー 4.3 には、AIX プラットフォームのパッケージと、これらをインストールするためのインストーラが用意されています。

メッセージキュー の AIX 実装では、次のソフトウェアがサポートされます。

インストールの手順については、『Sun GlassFish Message Queue 4.4 Installation Guide』の第 4 章「AIX Installation」を参照してください。

AIX プラットフォームでは、メッセージキュー のファイルは メッセージキュー のホームディレクトリ (IMQ_HOME) 以下にだけインストールされます。IMQ_HOME は、mqInstallHome/mq ディレクトリを表します。mqInstallHome は、製品のインストール時に指定したインストールのホームディレクトリです (デフォルトでは、home-directory /MessageQueue)。

結果として メッセージキュー のディレクトリ構造は、Windows プラットフォームの場合と同じになります。『Sun GlassFish Message Queue 4.4 Administration Guide』の付録 A「Platform-Specific Locations of Message Queue Data」の Windows の節を参照してください。

メッセージキュー の AIX プラットフォームのサポートには、メッセージキュー C-API のサポートも含まれます。AIX プラットフォームで C アプリケーションをビルドおよびコンパイルする手順については、XREF を参照してください。

新しい ZIP ベースのインストーラ

メッセージキュー 4.3 では、ネイティブパッケージ配布ではなく、ZIP ベースの配布用に新しいインストーラが導入されました。インストーラは、メッセージキュー の新しい ZIP 形式の配布を AIX プラットフォームにインストールするために使用します。

新しいインストーラは、メッセージキュー の .ZIP ファイルをユーザーが書き込み可能な (root 特権を必要としない) 任意のディレクトリに展開し、メッセージキュー のインストールを Sun Connection に登録できるようにします。

ダウンロードバンドルのサイズを最小化するために、ZIP ベースの配布には Java ランタイムが含まれていません (ほとんどのサイトでは、すでにインストールされているはずです)。したがって、installer コマンドでは、JAVA_HOME 環境変数を使用するか、次のようにコマンド行に -j オプションを使用して、JDK または JRE を指定する必要があります。

$ installer -j JDK/JRE-path

JDK/JRE-path は、指定する JDK または JRE のパスです。

プラットフォームサポートの拡張

メッセージキュー では、次の更新されたプラットフォームサポートが保証されます。

その他の拡張機能

メッセージキュー には、次の拡張機能も追加されています。

Windows プラットフォームでの新しいディレクトリ構造

Windows プラットフォームでは、メッセージキュー のインストールディレクトリの構造が、AIX プラットフォームでのディレクトリ構造に一致するように以前のバージョンから変更されました。このディレクトリ構造は、今後 Solaris および Linux プラットフォームでも採用される予定で、単一のコンピュータへの複数のインストールや Sun Connection を利用した メッセージキュー の自動更新が容易になります。Sun Connection は、Sun のハードウェアとソフトウェアの追跡、構成、および維持を支援するために Sun が提供するサービスです。「インストーラでの Sun Connection 登録のサポート」を参照してください。

新しいブローカのプロパティー

ブローカの設定に、次の新しいプロパティーを使用できます。

表 1–6 ブローカのルーティングと配信のプロパティー

プロパティー 

タイプ 

デフォルト値 

説明 

imq.transaction.producer.maxNumMsgs

整数 

1000

プロデューサが単一のトランザクションで処理できるメッセージの最大数。リソースを使い果たさないように、この値は 5000 未満にすることを推奨します。 

imq.transaction.consumer.maxNumMsgs

整数 

100

コンシューマが単一のトランザクションで処理できるメッセージの最大数。リソースを使い果たさないように、この値は 1000 未満にすることを推奨します。 

imq.persist.jdbc.connection.limit

整数 

5

データベースに対して開くことができる接続の最大数。 

JMX 管理 API の機能強化

新しい属性と複合データキーが、次のように JMX API に追加されました。

詳細は、『Sun GlassFish Message Queue 4.4 Developer’s Guide for JMX Clients』の第 3 章「Message Queue MBean Reference」を参照してください。

ワイルドカードサブスクライバの永続サブスクリプションの一覧表示

永続サブスクリプションを一覧表示するコマンドは次のとおりです。

list dur [-d topicName]

このコマンドは、トピック名の指定を省略できるように拡張されています。トピックを指定しない場合、コマンドはすべてのトピック (ワイルドカード命名規則によるトピックを含む) について、すべての永続サブスクリプションを表示します。