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

第 1 章 リリースノート

Version 4.4

Part No. 821-0892-05

このリリースノートには、Sun GlassFish メッセージキュー 4.4 のリリース時点で入手できる重要な情報が含まれています。ここでは、新機能、拡張機能、既知の問題、制限事項などについて説明します。メッセージキュー 4.4 をご使用になる前に、このリリースノートをお読みください。

このリリースノートには、メッセージキュー 4.3、4.2、4.1 および 4.0 のリリースに関する情報も含まれています。たとえば、各リリースで導入された機能については、「メッセージキュー 4.2 の新機能」「メッセージキュー 4.1 の新機能」、および「メッセージキュー 4.0 の新機能」をそれぞれ参照してください。

これらのリリースノートの最新版は、Sun GlassFish メッセージキュー ドキュメント Web サイト (http://docs.sun.com/coll/1307.7) から入手できます。ソフトウェアをインストールおよび設定する前だけでなく、それ以降も定期的にこの Web サイトをチェックして、最新のリリースノートと製品ドキュメントを確認してください。

このリリースノートは、次の節で構成されています。

このドキュメント内で参照している第三者の URL は、追加の関連情報を提供します。

このドキュメント内で引用する第三者の Web サイトの可用性について Sun は責任を負いません。こうしたサイトやリソース上の、またはこれらを通じて利用可能な、コンテンツ、広告、製品、その他の素材について、Sun は推奨しているわけではなく、Sun はいかなる責任も負いません。こうしたサイトやリソース上の、またはこれらを経由して利用可能な、コンテンツ、製品、サービスを利用または信頼したことに伴って発生した (あるいは発生したと主張される) いかなる損害や損失についても、Sun は一切の責任を負いません。

リリースノート改訂履歴

次の表は、メッセージキュー 製品のすべての 4.x リリースの日付と、各リリースに関連するこのドキュメントの変更内容を示しています。

表 1–1 改訂履歴

改訂日 

変更点の説明 

2009 年 10 月 

メッセージキュー 4.4 のこのドキュメントのリリース。このリリースの新機能が追加されています。 

2009 年 5 月 

メッセージキュー 4.4 Beta のこのドキュメントの初回リリース。このリリースの新機能が追加されています。 

2008 年 12 月 

メッセージキュー 4.3 のこのドキュメントのリリース。リリースの新機能が追加されています。 

2008 年 8 月 

メッセージキュー 4.2 のこのドキュメントのリリース。リリースの新機能が追加されています。 

2007 年 9 月 

メッセージキュー 4.1 のこのドキュメントの 3 番目のリリース。Java Enterprise System Monitoring Framework のサポート、固定 C ポート、バグ修正、およびその他の機能に関する説明が追加されています。 

2007 年 4 月 

メッセージキュー 4.1 Beta のこのドキュメントの 2 番目のリリース。高可用性の機能が追加されています。 

2007 年 1 月 

メッセージキュー 4.1 Beta のこのドキュメントの初回リリース。JAAS サポートの説明が追加されています。 

2006 年 5 月 

メッセージキュー 4.0 のこのドキュメントの初回リリース。 

メッセージキュー 4.4 の概要

Sun GlassFish メッセージキュー は、多くの機能を備えるメッセージサービスで、Java Messaging Specification (JMS) 1.1 に準拠する信頼性の高い非同期メッセージングを提供します。メッセージキュー では、JMS 仕様を超える機能も用意され大規模企業のシステム配備のニーズにも対応できるようになっています。

メッセージキュー 4.4 は、Sun GlassFish Application Server の 2.1.1 リリースに追加するために作成されたマイナーリリースです。したがって メッセージキュー 4.4 については、個別にダウンロードおよびインストール可能な配布はありません。

メッセージキュー 4.4 でサポートされるプラットフォームとコンポーネント

この節は、メッセージキュー 4.4 システム要件に関する次のトピックで構成されています。

オペレーティングシステムプラットフォーム のサポート

メッセージキュー 4.4 は、Solaris、Linux、Windows、および AIX オペレーティングシステムのプラットフォームでサポートされます。表 1–2 に、サポートされる各プラットフォームのバージョンを示します。各プラットフォームのハードウェア要件については、『Sun GlassFish Message Queue 4.4 Installation Guide 』を参照してください。

表 1–2 サポートされるプラットフォームのバージョン

プラットフォーム 

サポートされるバージョン 

Solaris 

Solaris 9 (SunOS 5.9)、すべての更新版 (SPARC、 x86)

Solaris 10 (SunOS 5.10)、すべての更新版 (SPARC、 x86、x64)

Linux 

Red Hat Enterprise Linux Advanced Server 3.0、4.0、5.0、すべての更新版、32 および 64 ビットバージョン (x86、x64)

Red Hat Enterprise Linux Enterprise Server 3.0、4.0、5.0、すべての更新版、32 および 64 ビットバージョン (x86、x64)

AIX 

AIX 6.1 

Windows 

Windows Vista 

Windows XP Professional、SP2 ( x86) [Home Edition、Tablet PC Edition、Media Center Edition はサポートされません]

Windows 2000 Advanced Server、SP4 (x86) [Professional Edition、Server Edition はサポートされません]

Windows Server 2003 Standard Edition、Enterprise Edition、SP2、32 および 64 ビットバージョン (x86、x64) [Web Edition、Small Business Server Edition はサポートされません]

Windows Server 2008 Standard Edition、Enterprise Edition、SP2、32 および 64 ビットバージョン (x86、x64)

システムの仮想化のサポート

システムの仮想化は、複数のオペレーティングシステム (OS) インスタンスを共用ハードウェア上で個別に実行できるようにするテクノロジです。機能的にいうと、仮想化された環境でホストされる OS に配備されたソフトウェアは、通常はベースとなるプラットフォームが仮想化されていることを認識しません。Sun では、精選されたシステムの仮想化と OS の組み合わせについて、その Sun Java System 製品のテストを行なっています。これは、Sun Java System 製品が、適切な規模と構成の仮想化環境でも、仮想化されていないシステム上の場合と同様に機能することを効果的に確認するためのテストです。仮想化された環境での Sun Java System 製品に対する Sun のサポートの詳細は、http://download.oracle.com/820-4651 を参照してください。

コンポーネントの依存関係

プラットフォーム固有の要件のほかに、メッセージキュー 4.4 は特定の基本コンポーネントにも依存します。メッセージキュー クライアントを開発して実行する場合は、それらのコンポーネントをインストールしてください。表 1–3 に、それらのコンポーネントを示します。ほかのバージョンまたはベンダー製品も実装できますが、それらは Sun Microsystems によるテストが実施されていないため、公式にはサポートされません。


注 –

Solaris、Linux、および Windows プラットフォームの メッセージキュー インストーラでは、既存の JDK/JRE を選択したり、JDK バージョン (1.5.0_15) をインストールすることができます。


表 1–3 必須のサポートコンポーネント

コンポーネント 

サポート対象 

サポートされるバージョン [Sun Microsystems 製品バージョンのみ]

Java Runtime Environment (JRE)

メッセージキュー ブローカおよび管理ツール 

J2SETM Runtime Environment 1.5.0_15 以降

JavaTM SE Runtime Environment 1.6.0_10

Java Software Development Kit (JDK), Standard Edition

Java クライアントの開発および配備 

J2SE Development Kit 1.5.0_15 以降 

Java SE Development Kit 1.6.0_10

表 1–4 に、メッセージキュー クライアントのサポートを追加するためにインストールできるその他のコンポーネントを示します。一覧に示されているコンポーネントのすべてが必要とは限りません。たとえば、C クライアントを作成しない場合は、C コンパイラ、C++ 実行時ライブラリ、NSPR、または NSS は必要ありません。

表 1–4 任意のサポートコンポーネント

コンポーネント 

サポート対象 

サポートされるバージョン 

アプリケーションサーバー 

HTTP/HTTPS

Sun GlassFish Application Server Enterprise Edition, Version 9.1 .1 (GlassFish Enterprise Server 2.1) 

Web サーバー 

HTTP/HTTPS

Sun GlassFish Web Server Enterprise Edition, Version 7.0, Update 3 

データベース 

JDBC ベースのデータストア 

HADB, Version 4.4.3–6

Java DB (Apache Derby), Version 10.4

MySQL Community/Enterprise Edition, Version 5.0 

Oracle 9i、10g、および 11g 

postgreSQL, Version 8.1 


注 –

PointBase データベースは、現在はサポートされていません。


高可用性データベース 

高可用性ブローカクラスタ 

HADB, Version 4.4.3–6

MySQL Cluster Edition, Version 5.0 

Oracle 10g および 11g 

Lightweight Directory Access Protocol (LDAP) ディレクトリサーバー

メッセージキュー ユーザーリポジトリおよび管理対象オブジェクト 

Sun GlassFish Directory Server, Version 6.0 

Java Naming and Directory Interface (JNDI)

管理対象オブジェクトのサポートと LDAP ユーザーリポジトリ

JNDI Version 1.2.1

LDAP Service Provider, Version 1.2.2

File System Service Provider, Version 1.2 Beta 3 [管理対象オブジェクトのサポートのみ。開発とテストでサポートされますが、本稼働環境での開発ではサポートされません]

C 言語のコンパイラおよび同等の C++ ランタイムライブラリ 

メッセージキュー C クライアント 

Solaris: Sun Studio, Version 11 以降、C++ コンパイラ (標準モード) および C コンパイラ

Linux: gcc/g++, Version 3.2.3

Windows: Microsoft Windows Visual C++, Version 6.0 SP3

Netscape Portable Runtime (NSPR)

メッセージキュー C クライアント 

Version 4.7 [ダウンロードバンドルに共有パッケージとしてバンドルされています]

Network Security Services (NSS)

メッセージキュー C クライアント 

Version 3.11.9

メッセージキュー 4.4 の新機能および最近のリリース

メッセージキュー 4.4 の新機能と、メッセージキュー 4.x ファミリのこれまでのリリースの新機能を、次の節に示します。

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

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

JMS ブリッジサービス

JMS の仕様では、ブローカとクライアント間の通信に使用するワイヤープロトコルが定義されていないため、メッセージキュー を含む各 JMS プロバイダは、独自のプロトコルを定義して使用しています。この状況により、JMS プロバイダ間の相互運用性が失われてきました。

メッセージキュー 4.4 の JMS ブリッジサービスは、メッセージキュー ブローカが自身の送信先を外部 JMS プロバイダにある送信先にマッピングできるようにすることで、相互運用性の問題を解消します。実際にこのマッピングにより、メッセージキュー ブローカは外部 JMS プロバイダのクライアントと通信できるようになります。

JMS ブリッジサービスは、次のような外部 JMS プロバイダにある送信先のマッピングをサポートします。

オープンソースおよび商用の JMS プロバイダの多くは、これらの要件を満たしています。したがって JMS ブリッジサービスは、ほかの JMS プロバイダを使用している既存のメッセージング環境に メッセージキュー を統合するための効果的な方法となります。

JMS ブリッジサービスの詳細は、次の情報を参照してください。

STOMP ブリッジサービス

すでに説明したように、JMS 仕様にはブローカとクライアント間の通信に使用するワイヤープロトコルが定義されていません。STOMP (Streaming Text Oriented Messaging Protocol) オープンソースプロジェクト (http://stomp.codehaus.org) は、任意の言語で記述されたクライアントが STOMP プロトコルをサポートするメッセージングプロバイダとの通信に使用できる、単純なワイヤープロトコルを定義します。

メッセージキュー 4.4 は、STOMP ブリッジサービスを通して STOMP プロトコルのサポートを提供します。このサービスにより、メッセージキュー ブローカは STOMP クライアントと通信できます。

STOMP ブリッジサービスの詳細は、次の情報を参照してください。

その他の拡張機能

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

新しい Universal Message Service (UMS) の機能

UMS には、HTTP GET を使用して次のようなサービスを提供する機能が追加されました。

UMS の概要については、「Universal Message Service (UMS)」を参照してください。UMS API のドキュメントについては、https://mq.dev.java.net/4.3-content/ums/protocol.html を参照してください。各言語のプログラミング例については、https://mq.dev.java.net/4.3-content/ums/examples/README.html を参照してください。

IPS パッケージのサポート

現在の メッセージキュー は、オープンソースの Image Packaging System (IPS) を使用して配布用にパッケージされています。IPS は、pkg(5) システムとも呼ばれます。このパッケージ方法は、メッセージキュー を Sun GlassFish Enterprise Server 2.1.1 に統合するために追加されました。

メッセージキュー 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]

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

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

メッセージキュー 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」を参照してください。

XML ペイロードメッセージのスキーマ検証

この機能は メッセージキュー 4.2 で導入され、メッセージがブローカに送信された時点で、テキスト (オブジェクトではない) の XML メッセージの XML スキーマを検証できます。XML スキーマ (XSD) の場所は、Message Queue 送信先のプロパティーとして指定されます。XSD の場所が指定されていない場合は、XML ドキュメント内の DTD 宣言を使用して DTD 検証が実行されます。データ型および値の範囲の検証を含む XSD 検証は、DTD 検証よりも厳格です。

この機能の使用法については、「XML ペイロードメッセージのスキーマ検証」を参照してください。

分散トランザクションの C-API サポート

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 プラットフォームのみです。


インストーラでの Sun Connection 登録のサポート

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 』を参照してください。

MySQL データベースのサポート

メッセージキュー 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.1 の新機能

メッセージキュー 4.1 は、いくつかの新機能、機能拡張、およびバグ修正を実装したマイナーリリースです。ここでは 4.1 リリースの新機能について説明するとともに、詳細な情報の参照先を示します。

Message Queue 4.0 で導入された機能については、「メッセージキュー 4.0 の新機能」を参照してください。

高可用性ブローカクラスタ

メッセージキュー 4.1 では、新しい拡張ブローカクラスタが導入されました。従来のブローカクラスタでは、ブローカで障害が発生した場合に別のブローカがメッセージングサービスを提供する「メッセージングサービス」の可用性のみが提供されていました。拡張ブローカクラスタでは、ブローカで障害が発生した場合に持続メッセージと状態データを使用して別のブローカがメッセージ配信を継承できる、「データ」の可用性も提供されます。

メッセージキュー 4.1 で導入された高可用性の実装は、JDBC ベースの共有データストアを使用します。つまり、ブローカクラスタの各ブローカに固有の持続データストアを用意する代わりに、クラスタ内のすべてのブローカで同じ JDBC 準拠のデータベースを使用します。特定のブローカで障害が発生すると、そのブローカのメッセージ配信はメッセージクラスタ内の別のブローカによって継承されます。そのときに、継承ブローカは、共有データストアのデータおよび状態情報を使用します。障害が発生したブローカのメッセージングクライアントは継承ブローカに再接続するため、メッセージングサービスは中断されません。

メッセージキュー 4.1 の高可用性実装に使用される JDBC ベースの共有ストアは、それ自体も高可用性ストアでなければなりません。高可用性データベースを持っていない場合、またはメッセージ配信が中断されないことを重要視しない場合は、データの可用性がなくサービスの可用性のみを提供する従来のクラスタを引き続き使用できます。

メッセージキュー 4.1 の拡張ブローカクラスタを設定するには、クラスタ内のブローカごとに、次のブローカプロパティーを指定します。

拡張ブローカクラスタ実装を使用するには、次の操作を実行します。

  1. 高可用性データベースをインストールします。

  2. JDBC ドライバの .jar ファイルをインストールします。

  3. 高可用性持続データストア用のデータベーススキーマを作成します。

  4. クラスタ内のブローカごとに、高可用性プロパティーを設定します。

  5. クラスタ内の各ブローカを起動します。

拡張ブローカクラスタの概念に関する説明、および従来のクラスタとの比較については、『Sun GlassFish Message Queue 4.4 Technical Overview』の第 4 章「Broker Clusters」を参照してください。拡張ブローカクラスタの手続きおよび参照に関する情報については、『Sun GlassFish Message Queue 4.4 Administration Guide』の第 10 章「Configuring and Managing Broker Clusters」および『Sun GlassFish Message Queue 4.4 Administration Guide』「Cluster Configuration Properties」を参照してください。

メッセージキュー 4.0 で高可用性データベースを使用していた場合、拡張ブローカクラスタに切り替えるには、データベースマネージャーユーティリティー (imqdbmgr) を使用して共有持続データストアに変換します。「ブローカクラスタ」で、既知の問題および制限事項についても参照してください。

JAAS サポート

メッセージキュー 4.1 では、ファイルベースおよび LDAP ベースの組み込み認証機構に加えて、JAAS (Java Authentication and Authorization Service) サポートも導入されています。JAAS を使用すると、外部の認証機構をブローカに接続して Message Queue クライアントを認証できます。

ブローカによって JAAS 準拠の認証サービスで利用可能になる情報についての説明、およびそれらのサービスを使用するようにブローカを設定する方法については、『Sun GlassFish Message Queue 4.4 Administration Guide』「Using JAAS-Based Authentication」を参照してください。

持続データストアの形式の変更

メッセージキュー 4.1 は、JDBC ベースのデータストアが拡張ブローカクラスタをサポートするように変更されました。このため、JDBC ベースのデータストアの形式がバージョン 410 に更新されました。バージョン 350、370、および 400 の形式は、バージョン 410 に自動的に移行されます。

ファイルベースの持続データストアの形式は、何も変更されていないので、Version 370 のままです。

ブローカの環境設定

メッセージキュー 4.1 の環境設定ファイル imqenv.conf に、プロパティー IMQ_DEFAULT_EXT_JARS が追加されました。このプロパティーを設定して、ブローカが起動するときに CLASSPATH に含まれる外部 .jar ファイルのパス名を指定できます。このプロパティーを使用して外部 .jar ファイルの場所を指定した場合は、これらのファイルを lib/ext ディレクトリにコピーする必要はなくなります。外部 .jar ファイルは、JDBC ドライバまたは JAAS ログインモジュールを参照できます。次のサンプルプロパティーは、JDBC ドライバの場所を指定します。

IMQ_DEFAULT_EXT_JARS=/opt/SUNWhadb4/lib/hadbjdbc4.jar:/opt/SUNWjavadb/derby.jar

Java ES Monitoring Framework のサポート

メッセージキュー 4.1 では、Sun Java Enterprise System (Java ES) Monitoring Framework のサポートが導入されました。Monitoring Framework は、一般的なグラフィカルインタフェースを使用して Java ES コンポーネントを監視できるようにします。このインタフェースは、Sun Java System Monitoring Console と呼ばれる Web ベースのコンソールによって実装されます。管理者はこのコンソールを使用して、パフォーマンス統計の表示、自動監視のためのルールの作成、アラームの確認などを行えます。ほかの Java ES コンポーネントと一緒に Message Queue を実行している場合は、1 つのインタフェースを使用してすべてのコンポーネントを管理するほうが便利なことがあります。

Java ES Monitoring Framework による Message Queue の監視については、XREF を参照してください。

拡張されたトランザクション管理

以前は、管理上、PREPARED 状態のトランザクションだけをロールバックすることができました。つまり、分散トランザクションの一部であるセッションが正常に終了しなかった場合、そのトランザクションは、管理者がクリーンアップできない状態のままになりました。メッセージキュー 4.1 では、コマンドユーティリティー (imqcmd) を使用して、STARTEDFAILEDINCOMPLETECOMPLETE、および PREPARED の状態のトランザクションをクリーンアップ (ロールバック) することができます。

特定のトランザクションをロールバックできるかどうかを判断できるように (特に、PREPARED 以外の状態の場合)、コマンドユーティリティーは imqcmd query txn の出力の一部として追加データを表示します。このデータには、トランザクションを開始した接続の接続 ID と、トランザクションが作成された時刻が示されます。管理者は、この情報を使用して、トランザクションをロールバックする必要があるかどうかを決定できます。一般に、管理者は早計にトランザクションをロールバックすることを避けるとよいでしょう。

C クライアント接続の固定ポート

メッセージキュー 4.1 では、C クライアントは、Java クライアントと同様に、ブローカのポートマッパーサービスで動的に割り当てられるポートではなく、固定ブローカポートに接続できるようになりました。固定ポート接続は、ファイアウォールを経由する場合、または他の何らかの理由でポートマッパーサービスをバイパスする必要がある場合に役立ちます。

固定ポート接続を設定するには、ブローカと C クライアントランタイムの両方 (接続の両端) を設定する必要があります。たとえば、ssljms を介してクライアントをポート 1756 に接続する場合は、次のように操作します。


注 –

MQ_SERVICE_PORT_PROPERTY 接続プロパティーは、Message Queue 3.7 Update 2 にバックポートされています。


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

メッセージキュー 4.0 は、Application Server 9 PE のサポートに限定されたマイナーリリースです。このリリースでは、いくつかの新機能、機能拡張、およびバグ修正が実装されています。この節では、このリリースの新機能について説明します。


注意 – 注意 –

version 4.0 には、軽度とはいえ、状況によって十分な対応が必要になる変更が導入されました。その 1 つとして、パスワードを指定するコマンド行オプションが使用されなくなったことが挙げられます。今後は、「使用されなくなったパスワードオプション」で説明するように、すべてのパスワードをファイルに保存するか、または要求されたときに入力します。


JMX 管理 API のサポート

Message Queue 4.0 には、Java Management Extensions (JMX) 仕様に準拠して、メッセージキュー ブローカを設定および監視するための新しい API が追加されました。この API を使用すると、Java アプリケーション内部からプログラムによってブローカ関数を設定および監視することができます。以前のバージョンの メッセージキュー では、これらの関数にはコマンド行管理ユーティリティーまたは管理コンソールからしかアクセスできませんでした。

詳細は、『Sun GlassFish Message Queue 4.4 Developer’s Guide for JMX Clients 』を参照してください。

クライアントランタイムログ

メッセージキュー 4.0 では、接続およびセッション関連のイベントに関するクライアントランタイムログのサポートが導入されました。

クライアントランタイムログおよびその設定方法については、『Java Dev Guide』の 137 ページを参照してください。

接続イベント通知 API

メッセージキュー 4.0 にはイベント通知 API が導入され、クライアントランタイムが接続状態の変更をアプリケーションに通知できるようになりました。接続イベント通知を使用すると、Message Queue クライアントは接続のクローズおよび再接続イベントを待機して、通知タイプと接続状態に基づいて適切なアクションを起こすことができます。たとえば、フェイルオーバーが発生してクライアントが別のブローカに再接続された場合、アプリケーションはそのトランザクションの状態をクリーンアップしてから新しいトランザクションに進む必要があるかもしれません。

接続イベント、およびイベントリスナの作成方法については、『Java Dev Guide』の 96 ページを参照してください。

ブローカ管理の拡張機能

メッセージキュー 4.0 では、コマンドユーティリティー (imqcmd) に、サブコマンドといくつかのコマンドオプションが追加されました。管理者はこれらを使用して、ブローカを休止したり、指定した間隔の後でブローカをシャットダウンしたり、接続を破棄したり、Java システムプロパティー (たとえば、コネクション関連のプロパティー) を設定したりできます。

imqcmd コマンドの構文については、『Sun GlassFish Message Queue 4.4 Administration Guide』の第 16 章「Command Line Reference」を参照してください。

JDBC ベースのデータストアに関する情報の表示

メッセージキュー 4.0 では、データベースマネージャーユーティリティー imqdbmgr に、新しい query サブコマンドが追加されました。このサブコマンドは、JDBC ベースのデータストアに関する情報 (データベースバージョン、データベースユーザー、データベーステーブルが作成されたかどうかなど) を表示するために使用します。

次に、このコマンドによって表示される情報の例を示します。


imqdbmgr query

[04/Oct/2005:15:30:20 PDT] Using plugged-in persistent store:
        version=400
        brokerid=Mozart1756
        database connection url=jdbc:oracle:thin:@Xhome:1521:mqdb
        database user=scott
Running in standalone mode.
Database tables have already been created.

JDBC プロバイダのサポート

メッセージキュー 4.0 では、Apache Derby Version 10.1.1 が、JDBC ベースのデータストアプロバイダとしてサポートされるようになりました。

持続データストアの形式の変更

メッセージキュー 4.0 では、最適化のため、および今後の拡張機能をサポートするために、JDBC ベースのデータストアに変更が加えられました。このため、JDBC ベースのデータストアの形式はバージョン 400 に更新されました。Message Queue 4.0 では、ファイルベースのデータストアのバージョンは、何も変更されていないので 370 のままです。

追加のメッセージプロパティー

メッセージキュー 4.0 では、デッドメッセージキューに配置されたすべてのメッセージで設定される 2 つの新しいプロパティーが追加されました。

SSL サポート

メッセージキュー 4.0 から、クライアントコネクションファクトリのプロパティー imqSSLIsHostTrusted のデフォルト値が false になりました。使用しているアプリケーションが以前のデフォルト値の true に依存している場合は、再設定を行い、プロパティーを明示的に true に設定する必要があります。

ブローカが自己署名付き証明書を使用するように設定されているときは、ホストを信頼することもできます。この場合、接続で SSL ベースの接続サービスを使用するように指定する (imqConnectionType プロパティーを使用する) ことに加えて、imqSSLIsHostTrusted プロパティーを true に設定することをお勧めします。

たとえば、ブローカが自己署名付き証明書を使用するときに安全にクライアントアプリケーションを実行するには、次のようなコマンドを使用します。

java -DimqConnectionType=TLS 
      -DimqSSLIsHostTrusted=true ClientAppName

ブローカが自己署名付き証明書を使用するときにコマンドユーティリティー (imqcmd) を安全に使用するには、次のようなコマンドを使用します (コネクタサービスのリストを表示する場合)。

imqcmd list svc -secure -DimqSSLIsHostTrusted=true

今後のリリースで使用されなくなる機能

次の機能は、今後のリリースで使用されなくなります。

メッセージキュー 4.4 で修正されたバグおよび最近のリリース

メッセージキュー 4.4 には、新しいバグの修正と、メッセージキュー 4.x ファミリのこれまでのリリースで解決されたバグの修正が含まれます。

次の各節では、それぞれのリリースで修正されたバグの一覧を示します。

メッセージキュー 4.4 で修正されたバグ

次の表に、メッセージキュー 4.4 で修正されたバグを示します。

表 1–7 メッセージキュー 4.4 で修正されたバグ

バグ 

説明 

6242247 

2 つのブローカが同じマシン上にあり、同じ名前である場合、マスターブローカを持つ MQ クラスタが起動後にハングアップします。 

6760937 

再起動されたブローカが DB に再接続しません。 

6765410 

マスターブローカがローカルの配信対象に 2 回送信を行うと、スレーブで「永続サブスクリプションがすでにアクティブである」という例外が発生します。 

6796506 

リモートの PREPARE 応答の受信中にタイムアウトが発生した場合、リモートの PREPARED メッセージがロールバック後に再配信されません。 

6821639 

MQRA-DIRECT モードで AS 回復中に、rollback/commitTransaction で NPE が発生します。 

6836364 

トピックがサブスクライバより前に作成されている場合、ワイルドカードサブスクライバがリモートメッセージを受信しません。 

6836749 

HA(JCAPS): 永続サブスクリプションの 1 つでメッセージをロールバックしてコミットしたあと、受信時に「ストアに確認応答が存在する」という例外が発生します。 

6858905 

Consumer.destroyConsumer で ConcurrentModificationException が発生します。 

メッセージキュー 4.3 で修正されたバグ

次の表に、メッセージキュー 4.3 で修正されたバグを示します。

表 1–8 Message Queue 4 で修正されたバグ3

バグ 

説明 

6634033 

クライアントが作成されたときに、クラスタプロトコルが imqConsumerFlowLimit の値をリモートブローカに伝達しません。

6713012 

リモートブローカの再起動と同時に、クラスタ内のブローカでコンシューマを破棄すると、一部のメッセージが配信されない場合があります。 

6727555 

ブローカのログメッセージ「Max bytes per msg exceeded」が実際のメッセージサイズを表し、max bytes per message の値と入れ替わっています。

6737404 

JMX メトリックは、送信先 (トピックおよびキュー) からディスパッチされているが、まだコンシューマに配信されていないメッセージの数を示す必要があります。 

6740568 

単一のトランザクションで消費されたメッセージが多すぎると、ブローカが例外をスローします。 

6758524 

永続サブスクリプションを一覧表示するコマンド (imqcmd list dur -d "foo.*") で、送信先名にワイルドカード文字を使用できません。

6758952 

imq.portmapper.hostname=localhost を設定すると、ブローカがクラスタ内に接続できなくなります。

6758817 

imq.cluster.hostname=localhost (非推奨) を設定すると、別のマシンのブローカがクラスタ内に接続できなくなります。

メッセージキュー 4.2 で修正されたバグ

次の表に、メッセージキュー 4.2 で修正されたバグを示します。

表 1–9 Message Queue 4.2 で修正されたバグ

バグ 

説明 

6581592 

インストーラまたはアンインストーラがテキストモード (installer –t ) で実行されているときは、「概要」画面にログファイルまたは概要ファイルを含むディレクトリが表示されますが、これらのファイルの名前のリストは表示されません。

6585911 

インストーラにバンドルされている、インストーラの実行に使用する JRE が、インストーラの「JDK の選択」画面に正しく表示されません。 

6587112 

複数バイトロケールで、インストーラの「概要」画面に無意味な文字が表示されます。 

6587127 

回答ファイルを参照して (installer -a filename -s) インストーラを実行するときに、回答ファイルが存在しない場合、矛盾した不明瞭なエラーメッセージが表示されます。

6590969 

クライアント接続認証で、DN ユーザー名形式が許可されます。 

6594381 

Message Queue 4.1 ローカリゼーション RPM のインストール (「多言語パッケージ」画面で「Message Queue 多言語パッケージのインストール」チェックボックスにチェックマークを付けた場合に実行される) は、古いバージョンの Message Queue ローカリゼーション RPM がシステムに存在すると、異常終了します。 

6599144 

Message Queue 4.2 のアンインストール時に、Java SE 6 ではスプラッシュ画面とアンインストーラがハングアップして空のグレー画面になりますが、Java SE 5 では正しく動作します。  

6615741 

ロールバックの前に元のコンシューマが閉じられると、ロールバックされたトランザクションコンシューマセッションで配信されたメッセージは再配信されません。 

6629922 

分散トランザクションハンドラは、非アクティブなコンシューマ に正しい順序でメッセージを再配信しません。 

6635130 

送信先のメモリー制限またはメッセージ制限に達したために一時停止された後、ブローカは、非持続メッセージのプロデューサに 生成を再開するように通知できません。 

6641117 

ロールバックの後に元のコンシューマが閉じられると、ロールバックされたトランザクションコンシューマセッションで配信されたメッセージは再配信されません。 

6683897 

設定が正常に完了したように見える場合でも、Message Queue インストーラの概要画面に設定エラーが報告されます。インストーラは、一部のコンピュータの /dev/sterr に書き込むことができません。

6684069 

コンシューマトランザクションで多数のメッセージがリモートクライアントに配信されるブローカクラスタで、トランザクションのコミットに障害が発生します。 

6688935 

Portmapper の読み取りのタイムアウトが短すぎます。 

6695238 

C クライアントアプリケーションは、パスにスペースが含まれている場所にインストールされたブローカに接続できません。 

6710168 

送信先が再開されないまま 2 回続けて一時停止されると、コンシューマはメッセージを消費しなくなります。 

6710169 

JMX 操作 ConsumerManagerMonitor.getConsumerInfo は、通知モードでは常に SESSION_TRANSACTED を返します。

メッセージキュー 4.1 で修正されたバグ

次の表に、メッセージキュー 4.1 で修正されたバグを示します。

表 1–10 Message Queue 4.1 で修正されたバグ

バグ 

説明 

6381703 

処理されたリモートメッセージが、そのメッセージの発信元のブローカが再起動された場合に、2 回コミットされることがあります。 

6388049 

未完了の分散トランザクションをクリーンアップできません。 

6401169 

imqcmd のコミットおよびロールバックオプションで、確認のプロンプトが表示されません。 

6473052 

自動作成されたキューのデフォルトはラウンドロビンであるべきです。(MaxNumberConsumers = -1)。

6474990 

ブローカのログに、imqcmd list dst コマンドに対して ConcurrentModificationException が示されます。

6487413 

LimitBehavior が REMOVE_OLDEST または REMOVE_LOWER_PRIORITY のときに、メモリーがリークします。

6488340 

ブローカがスピンし、クライアントは確認に対する応答を待機します。 

6502744 

ブローカが、デッドメッセージキューのデフォルト制限 (1000 のメッセージ) を尊重しません。 

6517341 

クライアントが拡張ブローカクラスタへ接続している際の、再接続ロジックを、imqReconnectEnabled プロパティーの値に関係なく再接続を可能にするように改善すべきです。

6528736 

起動時に Windows 自動起動サービス (imqbrokersvc) に障害が発生します。

6561494 

両者が 1 つのセッションを共有していると、メッセージが間違ったコンシューマに配信されます。 

6567439 

PREPARED トランザクションの生成メッセージがブローカの再起動後にコミットされた場合、それらのメッセージは順序どおりに配信されません。

メッセージキュー 4.0 で修正されたバグ

次の表に、メッセージキュー 4.0 で修正されたバグを示します。

表 1–11 メッセージキュー 4.0 で修正されたバグ

バグ番号 

説明 

4986481 

メッセージキュー 3.5 では、自動再接続モードでの Session.recover の呼び出しがハングすることがありました。

4987325 

Session.recover の呼び出し後に、再配信されたフラグは再配信されたメッセージに対して false に設定されました。

6157073 

新しく接続メッセージが変更され、接続の合計数のほかにサービス上の接続数も表示されるようになりました。 

6193884 

メッセージキュー は、メッセージに非アスキー文字を使用するロケールで文字化けメッセージを syslog に出力します。 

6196233 

JMSMessageID を使用したメッセージ選択が機能しません。

6251450 

クラスタのシャットダウン時、 connectListConcurrentModificationException が発生します。

6252763 

java.nio.HeapByteBuffer.putLong/Int java.nio.BufferOverflowException が発生します。

6260076 

Oracle ストレージを使用すると、起動後に発行される最初のメッセージが遅くなります。  

6260814 

JMSXUserID 上のセレクタ処理が、常に false と評価されてしまいます。

6264003 

キューブラウザにコミットされていないメッセージが表示されます。 

6271876 

消費されていないメッセージを含むコンシューマを閉じようとすると、接続フロー制御が正しく動作しなくなります。 

6279833 

メッセージキュー では、2 つのブローカが同じ JDBC テーブルを使用することはできません。 

6293053 

システム IP アドレスが変更された場合、—reset store を使用してストアをクリアしていないと、マスターブローカが正しく起動しません。

6294767 

メッセージキュー ブローカがネットワークソケットを開く場合、そのネットワークソケット上に SO_REUSEADDR を設定する必要があります。

6304949 

TopicConnectionFactoryClientID プロパティーを設定することができません。

6307056 

txn ログがパフォーマンス上のボトルネックになっています。

6320138 

メッセージキュー C API では reply-to ヘッダーからキューの名前を決定することができません。  

6320325 

Solaris 上に JDK 1.4 と JDK 1.5 の両方がインストールされている場合、ブローカが JDK 1.5 より前に JDK 1.4 を検出してしまうことがあります。  

6321117 

マルチブローカクラスタの初期化で java.lang.NullPointerException が発生します。

6330053 

サブスクライバからトランザクションをコミットしている場合、JMS クライアントで java.lang.NoClassDefFoundError が発生します。

6340250 

C-API で MESSAGE タイプをサポート。

6351293 

Apache Derby データベースへのサポートを追加。  

メッセージキュー 4.4 のドキュメントの更新

この節では、メッセージキュー 4.4 のドキュメントの更新について説明します。

互換性の問題

この節では、メッセージキュー 4.4 に関する互換性の問題を説明しています。

インタフェースの安定性

Sun GlassFish メッセージキュー で使用される多くのインタフェースは、時間の経過につれて変更される可能性があります。『Sun GlassFish Message Queue 4.4 Administration Guide』の付録 B「Stability of Message Queue Interfaces」では、インタフェースを安定性に従って分類しています。安定性に優れるインタフェースほど、製品の後継バージョンで変更される可能性は低くなります。

メッセージキュー の次回のメジャーリリースに関係する問題

メッセージキュー の次回のメジャーリリースでは、現在の メッセージキュー クライアントアプリケーションがそのリリースと互換性がなくなるような変更が導入される可能性があります。この情報は、完全な情報開示の目的で提供しています。

メッセージキュー 4.4 ドキュメントセットの変更点

メッセージキュー 4.4 ドキュメントセットは、次に説明するように、Message Queue 4.3 ドキュメントセットから更新されています。

『技術の概要』

『Sun GlassFish Message Queue 4.4 Technical Overview 』は、メッセージキュー 4.4 の新しい機能を反映するように更新されました。

インストールとアップグレードに関する情報

『Sun GlassFish Message Queue 4.4 Installation Guide 』には、AIX プラットフォームでの メッセージキュー のインストールに関する内容が追加されました。

管理ガイド

『Sun GlassFish Message Queue 4.4 Administration Guide 』には、重要性の低いバグ修正、AIX プラットフォームのサポート、およびブローカクラスタを管理する手順と従来のクラスタを拡張クラスタに変換する手順が追加されています。

『Developer's Guide for Java Clients』

『Sun GlassFish Message Queue 4.4 Developer’s Guide for Java Clients 』は、新しいバージョン番号を反映するように更新されました。それ以外の変更はありません。

『Developer’s Guide for C Clients』

『Sun GlassFish Message Queue 4.4 Developer’s Guide for C Clients 』には、AIX プラットフォームで C クライアントアプリケーションをビルドする際の情報が追加されています。

『Developer's Guide for JMX Clients』

『Sun GlassFish Message Queue 4.4 Developer’s Guide for JMX Clients 』には、JMX API の拡張機能が追加されています。

既知の問題点と制限事項

この節には、メッセージキュー 4.4 の既知の問題についてのリストが含まれています。次の内容について説明します。

現時点のバグ、その状態、および回避策の一覧については、Java Developer Connection™ メンバーは、Java Developer Connection Web サイトの「Bug Parade」ページを参照してください。新しいバグを報告する前に、このページをチェックしてください。すべての メッセージキュー バグがリストされているわけではありませんが、このページはある問題が報告済みかどうかを知りたい場合に活用できます。

http://bugs.sun.com/bugdatabase/index.jsp


注 –

Java Developer Connection のメンバーになるのは無料ですが、登録が必要です。Java Developer Connection のメンバーになる方法についての詳細は、Sun の「For Developers」Web ページを参照してください。


新しいバグの報告や機能に関する要求を行うには、imq-feedback@sun.com 宛てにメールを送信してください。

インストールに関する情報

この節では、Message Queue version 4.4 のインストールに関連した問題について説明します。

製品レジストリと Java ES

メッセージキュー 4.4 は、メッセージキュー 4.2 および 4.1 と同様に、新しいインストーラでインストールされます。このインストーラでは、JDK、NSS、JavaHelp など、Message Queue に必要な Java Enterprise System (Java ES) 共有コンポーネントもインストールされます。

新しい Message Queue インストーラと、以前のバージョンの Message Queue で使用されていた古い Java ES インストーラは、同じ製品レジストリを共有しません。Java ES でインストールされた Message Queue を削除したあと、Message Queue インストーラで メッセージキュー 4.4 をインストールすると、Java ES 製品レジストリが矛盾した状態になる場合があります。その結果、Java ES アンインストーラを実行すると、Java ES でインストールしなかったとしても、メッセージキュー 4.4 とそれが依存する共有コンポーネントが意図せずに削除されることがあります。

Java ES インストーラでインストールした Message Queue ソフトウェアをアップグレードする最善の方法は、次のとおりです。

  1. Java ES アンインストーラを使用して、メッセージキュー とその共有コンポーネントを削除します。

  2. Message Queue インストーラを使用して、メッセージキュー 4.4 をインストールします。

すべてのプラットフォームでのインストール

次に示す問題は、すべてのプラットフォームでのインストールに影響します。

Windows でのインストール

Message Queue を Windows にインストールするときは、次の制限事項に注意してください。

Solaris でのインストール

Linux でのインストール

次に示す問題は、Linux プラットフォームでのインストールに影響します。

インストーラのバージョン表示の問題

インストーラには、メッセージキュー のバージョン情報が不明瞭な形式で表示されます。(バグ 6586507)

Solaris プラットフォーム

Solaris プラットフォームの場合は、次の表を参照して、インストーラに表示される メッセージキュー のバージョンを判別してください。

表 1–12 バージョン文字列の読み換え

Solaris OS でインストーラに表示されるバージョン 

対応する Message Queue のリリース 

4.3.0.0 

4.3 

4.2.0.0 

4.2 

4.1.0.2 

4.1 Patch 2 

4.1.0.1 

4.1 Patch 1 

4.1.0.0 

4.1 

3.7.2.1 

3.7 UR2 Patch 1 

3.7.0.2 

3.7 UR2 

3.7.0.1 

3.7 UR1 

3.6.0.0 

3.6 

3.6.0.4 

3.6 SP4 

3.6.0.3 

3.6 SP3 

3.6.0.2 

3.6 SP2 

3.6.0.1 

3.6 SP1 


注 –

3.6 SP4 のパッチリリースの場合 (たとえば、3.6 SP4 Patch 1)、インストーラで表示されるリリース文字列は同じままです。厳密なバージョンを判別するには、コマンド imqbrokerd -version を実行する必要があります。


Linux プラットフォーム

Linux のプラットフォームの場合、インストーラで表示されるバージョン番号は次の形式になります。

majorReleaseNumber.minorReleaseNumber-someNumber

たとえば、3.7–22 のようになります。これにより、3.7 リリースの 1 つであることだけはわかりますが、どの特定のバージョンかはわかりません。インストールされている メッセージキュー のバージョンを判別するには、次のコマンドを実行します。

imqbrokerd -version.

ローカリゼーションの問題

次に示す問題は、ローカリゼーションの問題に関係しています。

使用されなくなったパスワードオプション

以前のバージョンの メッセージキュー では、—p または —password オプションを使用して、imqcmdimqbrokerd、および imdbmgr コマンドのパスワードを対話形式で指定することができました。version 4.0 から、これらのオプションは使用できなくなりました。

代わりに、関連するパスワードを指定したパスワードファイルを作成し、-passfile コマンドオプションを使用してそのパスワードファイルを参照できます。または、コマンドで要求されたときにパスワードを入力することもできます。

パスワードファイルには、次に示すパスワードを 1 つ以上格納することができます。

次の例では、JDBC データベースに対するパスワード abracadabra をパスワードファイルに設定しています。

imq.persist.jdbc.mysql.password=abracadabra

バスワードファイルは、次のいずれかの方法で使用できます。

管理および設定上の問題

次に示す問題は メッセージキュー の管理および設定に関係するものです。

ブローカの問題

次に示す問題は メッセージキュー ブローカに影響します。

ブローカクラスタ

次に示す問題は、ブローカクラスタに影響します。

JMX の問題

Windows プラットフォームでは、トランザクションマネージャーの監視 MBean の getTransactionInfo メソッドが不正なトランザクションの作成時間を含むトランザクション情報を返します。(バグ 6393359)

回避方法: 代わりに、トランザクションマネージャーの監視 MBean の getTransactionInfoByID メソッドを使用します。

SOAP サポート

SOAP サポートに関連した 2 つの問題に注意する必要があります。

再配布可能なファイル

Sun GlassFish メッセージキュー 4.4 には、バイナリ形式で使用でき自由に配布可能な次のファイルのセットが含まれています。

fscontext.jar

jaas.jar

imq.jar

jms.jar

imqjmx.jar

libmqcrt.so (HPUX)

imqxm.jar

libmqcrt.so (UNIX)

imqums.war

mqcrt1.dll (Windows)

さらに、LICENSE ファイルおよび COPYRIGHT ファイルも再配布できます。

障害を持つユーザー向けのアクセシビリティー機能

このメディアの出版後にリリースされたアクセシビリティーを入手する場合は、請求に応じて Sun から提供される 508 条に関する製品評価資料を参照し、使いやすいソリューションの配備にもっとも適したバージョンを調べてください。アプリケーションの最新バージョンは、http://sun.com/software/javaenterprisesystem/get.html で入手できます。

アクセシビリティー機能に対する Sun のコミットメントについては、http://sun.com/access を参照してください。

問題の報告とフィードバックの方法

Sun GlassFish メッセージキュー に問題が発生した場合は、次のいずれかの方法で Sun のカスタマサポートにお問い合わせください。

最善の問題解決のため、サポートに連絡する際には次の情報をご用意ください。

Sun GlassFish Software Forum

次のサイトでは、Sun GlassFish メッセージキュー フォーラムが利用できます。

http://swforum.sun.com/jive/forum.jspa?forumID=24

ご参加を歓迎いたします。

Java Technology Forum

Java Technology Forums には、関連する JMS のフォーラムがあります。

http://forum.java.sun.com

このドキュメントに関するコメント

弊社では、ドキュメントの改善に努めており、お客様からのコメントおよびご忠告をお受けしております。

http://docs.sun.com にアクセスして「コメントの送信」をクリックしてください。このオンラインフォームでは、ドキュメントのタイトルと Part No. もご記入ください。Part No. は、7 桁か 9 桁の番号で、ドキュメントのタイトルページまたは最初のページに記載されています。このドキュメントのタイトルは『リリースノート』で、Part No. は 821-0892-05 です。

その他の情報

次のインターネットのサイトで、Sun GlassFish の情報を参照できます。