この節では、Message Queue 4.2 のマニュアルの更新について説明します。
この節では、Message Queue 4.2 に関する互換性の問題を説明しています。
Sun Java System Message Queue で使用される多くのインタフェースは、時間の経過につれて変更される可能性があります。『Sun Java System Message Queue 4.2 Administration Guide』の付録 B「Stability of Message Queue Interfaces」では、インタフェースをそれらの安定性に従って分類しています。安定性に優れるインタフェースほど、製品の後継バージョンで変更される可能性は低くなります。
Message Queue の次回のメジャーリリースでは、現在の Message Queue クライアントアプリケーションがそのリリースと互換性がなくなるような変更が導入される可能性がありますこの情報は、完全な情報開示の目的で提供しています。
Sun Java System Message Queue の一部としてインストールされる各ファイルの場所が変更される可能性があります。これによって、特定の Message Queue ファイルの現在の場所に依存する既存のアプリケーションの動作が中断する可能性があります。
Message Queue 3.5 以前のブローカは、これより新しいブローカのクラスタ内では動作できなくなる可能性があります。
今後のリリースでは、Message Queue クライアントは 1.5 より前のバージョンの JDK を使用できなくなる可能性があります。
今後のリリースでは、Message Queue クライアントは 1.6 より前のバージョンの JDK を使用できなくなる可能性があります。
Message Queue 4.2 ドキュメントセットは、次に説明するように、Message Queue 4.1 ドキュメントセットから更新されています。
『Sun Java System Message Queue 4.2 Installation Guide』 は、Message Queue 4.2 の新機能および高可用性ブローカクラスタの最新フレームワークを反映するように更新されました。
『管理ガイド』は、Message Queue 4.2 の新機能を反映するように更新されました。
『Sun Java System Message Queue 4.2 Installation Guide』 は、Message Queue 4.2 の新機能、特に、インストーラの新しい Sun Connection 登録機能を反映するように更新されました。この情報は、『Message Queue リリースノート』でも提供しています。
Developer’s Guide for Java Clients は、Message Queue 4.2 の新機能を反映するように更新されました。この情報は、『Message Queue リリースノート』でも提供しています。
Developer’s Guide for C Clients は、Message Queue 4.2 の新機能を反映するように更新されました。この情報は、『Message Queue リリースノート』でも提供しています。
Message Queue 4.2 の新機能を反映する更新は行われていません。この情報は、『Message Queue リリースノート』でも提供しています。
Message Queue 4.2 には、ブローカクラスタでの送信先の監視に役立つ新しい送信先メトリックが含まれています。ブローカクラスタでは、送信先はクラスタ内のすべてのブローカに伝達されます。ただし、メッセージは、生成されたときに、メッセージプロデューサのホームブローカのターゲット送信先に格納され、その送信先のアクティブコンシューマが存在する場合のみ、クラスタ内の別のブローカの対応する送信先に送信されます。このため、指定された送信先に格納されたメッセージは、送信先が属するクラスタ内のブローカに依存します。
つまり、ブローカクラスタで、クラスタ内の特定のブローカ上の特定の送信先に格納されるメッセージには、直接その送信先に対して生成されたメッセージと、クラスタ内のリモートブローカからその送信先に送信されるメッセージがあります。ブローカクラスタでのメッセージのルーティングと配信を分析する際に、送信先のメッセージのうち、ローカルで生成されたメッセージの数と、リモートで生成されたメッセージの数を調べると訳に立つことがあります。
次の表に、Message Queue 4.2 に含まれる 2 つの新しい物理送信先メトリック量を示します。新しいメトリック量は、imqcmd list dst と imqcmd query dst コマンド、および新しい JMX 属性 (「送信先監視 MBean」を参照) を介して利用できます。
表 1–10 物理送信先のメトリック
メトリック量 |
説明 |
ログファイル |
metrics dst メトリックタイプ |
メトリックトピック |
---|---|---|---|---|
Num messages remote |
メモリーおよび持続ストアに格納されている、クラスタ内のリモートブローカに対して生成されたメッセージの現在の数。この数には、トランザクションに含まれているメッセージは含まれません。 |
不可 |
使用不可 |
|
Total message bytes remote |
メモリーおよび持続ストアに格納されている、クラスタ内のリモートブローカに対して生成されたメッセージの合計サイズ (バイト単位)。この値には、トランザクションに含まれているメッセージは含まれません。 |
不可 |
使用不可 |
使用不可 |
この節では、Solaris 10 オペレーティングシステムでブローカの自動起動を設定する方法について説明します。コンピュータの再起動時に rc ファイルを使用してブローカの自動起動を実装するのではなく、次の手順では Solaris 10 サービス管理機能 (SMF) を使用します。
サービス管理機能の使用の詳細については、Solaris 10 のドキュメントを参照してください。
mqbroker サービスを SMF リポジトリにインポートします。
# svccfg import /var/svc/manifest/application/sun/mq/mqbroker.xml
mqbroker サービスの状態をチェックして、インポートが成功したことを確認します。
# svcs mqbroker
出力は次のようになります。
STATE STIME FMRI disabled 16:22:50 svc:/application/sun/mq/mqbroker:default |
デフォルトでは、サービスは無効 (disabled) と示されます。
mqbroker サービスを有効にします。
# svcadm enable svc:/application/sun/mq/mqbroker:default
mqbroker サービスを有効にすると、imqbrokerd プロセスが開始されます。再起動すると、ブローカも再起動されます。
必要な引数を imqbrokerd コマンドに渡すように mqbroker サービスを設定します。
imqbrokerd に引数を渡すには、options/server_args プロパティーを使用します。たとえば、-loglevel DEBUGHIGH を追加するには、次のように指定します。
# svccfg svc:> select svc:/application/sun/mq/mqbroker svc:/application/sun/mq/mqbroker> setprop options/server_args=\"-loglevel DEBUGHIGH\" svc:/application/sun/mq/mqbroker> exit |
Message Queue では、Message Queue クライアントアプリケーション内部からプログラムによってブローカ関数を設定および監視するための Java Management Extensions (JMX) API がサポートされます。Message Queue 4.2 には、このリリースの新機能をサポートするための、JMX API の拡張機能が含まれています。次の Mbean に対して、JMX の新しい属性、操作、検索キーのすべてまたはいずれかが定義されています。
次の各表に示す属性、操作、および検索キーは、「パブリッシャーまたはサブスクライバの複数の送信先」で説明した機能をサポートします。
次の属性の名前は、ユーティリティークラス com.sun.messaging.jms.management.server.ConsumerAttributes の静的定数として定義されています。
表 1–11 コンシューママネージャーの監視属性
名前 |
型 |
設定可/不可 |
説明 |
---|---|---|---|
NumWildcardConsumers |
整数 |
不可 |
ブローカに関連付けられているワイルドカードメッセージコンシューマの数 |
次の操作の名前は、ユーティリティークラス com.sun.messaging.jms.management.server.ConsumerOperations の静的定数として定義されています。
表 1–12 コンシューママネージャーの監視操作
名前 |
パラメータ |
結果の型 |
説明 |
---|---|---|---|
getConsumerWildcards |
なし |
String[] |
ブローカに関連付けられている現在のコンシューマが使用するワイルドカード文字列 |
getNumWildcardConsumers |
ワイルドカード文字列 |
整数 |
指定されたワイルドカード文字列を使用している、ブローカに関連付けられている現在のコンシューマの数 |
次の検索キーの名前は、ユーティリティークラス com.sun.messaging.jms.management.server.ConsumerInfo の静的定数として定義されています。
表 1–13 メッセージコンシューマ情報の検索キー
名前 |
値の型 |
説明 |
---|---|---|
DestinationNames |
String[] |
ワイルドカードコンシューマが使用するワイルドカードと一致する送信先名 トピック送信先でのみ使用。 |
Wildcard |
ブール型 |
ワイルドカードコンシューマかどうか トピック送信先でのみ使用。 |
次の表に示す属性は、「XML ペイロードメッセージのスキーマ検証」で説明した機能をサポートします。
次の属性の名前は、ユーティリティークラス com.sun.messaging.jms.management.server.DestinationAttributes の静的定数として定義されています。
表 1–14 送信先設定属性
名前 |
型 |
設定可/不可 |
説明 |
---|---|---|---|
ValidateXMLSchemaEnabled |
ブール型 |
可 |
XML スキーマ検証が有効になっているかどうか false に設定されているか、または何も設定されていない場合、送信先の XML スキーマ検証は有効になっていません。 |
XMLSchemaURIList |
文字列 |
可 |
XML スキーマドキュメント (XSD) URI 文字列のスペース区切りリスト URI は、XML スキーマ検証が有効になっている場合に使用する 1 つ以上の XSD の場所を示します。 複数の URI を指定する場合は、この値を二重引用符で囲みます。 例: “http://foo/flap.xsd http://test.com/test.xsd” このプロパティーが設定されていないか、または null の場合に XML 検証が有効になっていると、XML ドキュメント内で指定された DTD を使用して XML 検証が実行されます。 |
ReloadXMLSchemaOnFailure |
ブール型 |
可 |
障害発生時に XML スキーマを再読み込みするかどうか false に設定されているか、または何も設定されていない場合は、検証で障害が発生したときにスキーマの再読み込みは行われません。 |
「XML ペイロードメッセージのスキーマ検証」で説明した新機能をサポートする新しい送信先設定 MBean 属性は、送信先マネージャー設定 MBean の create 操作で送信先を作成するときに使用できます。
次の表に示す最初の属性セットは、「パブリッシャーまたはサブスクライバの複数の送信先」で説明した機能をサポートし、2 番目の属性セットは、「新しい送信先メトリック」で説明した拡張機能をサポートします。
次の属性の名前は、ユーティリティークラス com.sun.messaging.jms.management.server.DestinationAttributes の静的定数として定義されています。
表 1–15 送信先監視属性
名前 |
型 |
設定可/不可 |
説明 |
---|---|---|---|
NumWildcards |
整数 |
不可 |
送信先に関連付けられているワイルドカードメッセージプロデューサとワイルドカードメッセージコンシューマの現在の数 トピック送信先でのみ使用。 |
NumWildcardProducers |
整数 |
不可 |
送信先に関連付けられているワイルドカードメッセージプロデューサの現在の数 トピック送信先でのみ使用。 |
NumWildcardConsumers |
整数 |
不可 |
送信先に関連付けられているワイルドカードメッセージコンシューマの現在の数 トピック送信先でのみ使用。 |
NumMsgsRemote |
ロング整数 |
不可 |
メモリーおよび持続ストアに格納されている、クラスタ内のリモートブローカに対して生成されたメッセージの現在の数。この数には、トランザクションに含まれているメッセージは含まれません。 |
TotalMsgBytesRemote |
ロング整数 |
不可 |
メモリーおよび持続ストアに格納されている、クラスタ内のリモートブローカに対して生成されたメッセージの合計サイズ (バイト単位)。この値には、トランザクションに含まれているメッセージは含まれません。 |
次の表に示す操作は、「パブリッシャーまたはサブスクライバの複数の送信先」で説明した機能をサポートします。
次の操作の名前は、ユーティリティークラス com.sun.messaging.jms.management.server.DestinationOperations の静的定数として定義されています。
表 1–16 送信先監視操作
名前 |
パラメータ |
結果の型 |
説明 |
---|---|---|---|
getWildcards |
なし |
String[] |
送信先に関連付けられている現在のコンシューマおよびプロデューサが使用するワイルドカード文字列 トピック送信先でのみ使用。 |
getConsumerWildcards |
なし |
String[] |
送信先に関連付けられている現在のコンシューマが使用するワイルドカード文字列 トピック送信先でのみ使用。 |
getProducerWildcards |
なし |
String[] |
送信先に関連付けられている現在のプロデューサが使用するワイルドカード文字列 トピック送信先でのみ使用。 |
getNumWildcardConsumers |
ワイルドカード文字列 |
整数 |
指定されたワイルドカード文字列を使用している、送信先に関連付けられている現在のコンシューマの数 トピック送信先でのみ使用。 |
getNumWildcardProducers |
ワイルドカード文字列 |
整数 |
指定されたワイルドカード文字列を使用している、送信先に関連付けられている現在のプロデューサの数 トピック送信先でのみ使用。 |
次の各表に示す属性、操作、および検索キーは、「パブリッシャーまたはサブスクライバの複数の送信先」で説明した機能をサポートします。
次の属性の名前は、ユーティリティークラス com.sun.messaging.jms.management.server.ProducerAttributes の静的定数として定義されています。
表 1–17 プロデューサマネージャーの監視属性
名前 |
型 |
設定可/不可 |
説明 |
---|---|---|---|
NumWildcardProducers |
整数 |
不可 |
ブローカに関連付けられているワイルドカードメッセージプロデューサの数 |
次の操作の名前は、ユーティリティークラス com.sun.messaging.jms.management.server.ProducerOperations の静的定数として定義されています。
表 1–18 プロデューサマネージャーの監視操作
名前 |
パラメータ |
結果の型 |
説明 |
---|---|---|---|
getProducerWildcards |
なし |
String[] |
ブローカに関連付けられている現在のプロデューサが使用するワイルドカード文字列 |
getNumWildcardProducers |
ワイルドカード文字列 |
整数 |
指定されたワイルドカード文字列を使用している、ブローカに関連付けられている現在のプロデューサの数 |
次の検索キーの名前は、ユーティリティークラス com.sun.messaging.jms.management.server.ProducerInfo の静的定数として定義されています。
表 1–19 メッセージプロデューサ情報の検索キー
名前 |
値の型 |
説明 |
---|---|---|
DestinationNames |
String[] |
ワイルドカードプロデューサが使用するワイルドカードと一致する送信先名 トピック送信先でのみ使用。 |
Wildcard |
ブール型 |
ワイルドカードプロデューサかどうか トピック送信先でのみ使用。 |
Message Queue 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」が抽出されます。
Message Queue 4.2 の JAAS 認証では、ユーザー名による認証に加えて、IP アドレスによる認証もサポートされます。