Sun Java System Message Queue 3.7 UR1 管理ガイド

第 16 章 管理対象オブジェクト属性のリファレンス

この章では、管理対象オブジェクトの属性に関する参照情報を提供します。この章は、次の節から構成されています。

接続ファクトリの属性

接続ファクトリオブジェクトの属性は、以下の節で説明する次のカテゴリに分けられます。

接続の処理

表 16–1 に、接続処理に関する接続ファクトリ属性を示します。

表 16–1 接続の処理に関する接続ファクトリ属性

属性 

データ型 

デフォルト値 

説明 

imqAddressList

文字列 

既存の Message QueueTM 3.0 アドレス、またはそれがない場合は表 16–2 の最初のエントリ

ブローカのアドレスのリスト 

リストは、コンマ区切りの 1 つ以上のブローカアドレスから構成されます。各アドレスでは、クライアントが接続できるブローカインスタンスのホスト名、ポート番号、および接続サービスを明示的または暗黙的に指定します。アドレスの構文は、接続サービスとポートの割り当て方法によって異なります。詳細については、後述の説明を参照してください。 

imqAddressListBehavior

文字列 

PRIORITY

ブローカアドレスに接続を試行する順序 

    PRIORITY: アドレスリストに指定されている順序


    RANDOM: ランダムな順序



注 –

多数のクライアントが同じ接続ファクトリを共有する場合は、すべてのクライアントが同じアドレスに接続を試行するのを避けるために、ランダムな接続順序を指定してください。


imqAddressListIterations

整数 

5

接続の確立または再確立を試行する際にアドレスリストを繰り返す回数 

-1 は、繰り返し回数が無制限であることを示します。

imqPingInterval

整数 

30

クライアントとブローカ間のテスト接続の間隔 (秒単位) 

0 または -1 を指定すると、接続の定期的なテストが無効になります。

imqReconnectEnabled

ブール 

false

失われた接続の再確立を試行するかどうか 

imqReconnectAttempts

整数 

0

アドレスリスト内の次のアドレスに移る前に、各アドレスに接続または再接続を試行する回数 

-1 は、接続の試行回数が無制限であることを示します。この場合、成功するまで、最初のアドレスに繰り返し接続が試行されます。

imqReconnectInterval

倍長整数 

3000

再接続を試行する間隔 (ミリ秒単位) 

この値は、特定のアドレスに対する連続する試行と、リスト内の連続するアドレスに対する試行の両方に適用されます。 


注 –

値が小さすぎると、ブローカが回復するのに十分な時間が与えられない可能性があります。値が大きすぎると、許容できない接続遅延が発生する可能性があります。


imqSSLIsHostTrusted

ブール 

true

ブローカが提示する証明書を信頼するかどうか 

false の場合、Message Queue クライアントランタイムは提示された証明書をすべて検証します。証明書の署名者がクライアントのトラストストアに存在しない場合、検証は失敗します。

true の場合、証明書の検証はスキップされます。これは、自己署名付きの証明書を使用するソフトウェアテストなどに便利です。

注:認証局からの署名付き証明書を使用するには、この属性を false に設定します。

imqAddressList 属性の値は、接続先のブローカのアドレスを 1 つ以上指定するコンマ区切りの文字列です。各アドレスの一般的な構文は、次のようになります。

   
scheme://address

scheme には、表 16–2 に示すアドレススキーマのいずれかを指定し、address には、ブローカのアドレス自体を指定します。アドレスを指定するための正確な構文は、表の最後の列に示すように、アドレススキーマによって異なります。

表 16–2 メッセージブローカのアドレススキーマ

スキーマ 

サービス 

構文 

説明 

mq

jms または ssljms

[hostName][:portNumber ][/serviceName]

jms または ssljms 接続サービスで、ポートを動的に割り当てます。

アドレスリストのエントリには、Message Queue ポートマッパーのホスト名とポート番号を指定します。ポートマッパー自体が、接続に使用するポートを動的に割り当てます。 

デフォルト値:

    hostName = localhost


    portNumber = 7676


    serviceName = jms


ssljms 接続サービスでは、すべての変数を明示的に指定する必要があります。

mqtcp

jms

hostName:portNumber /jms

jms 接続サービスを使用して、指定されたポートに接続します。

ポートマッパーをバイパスし、指定されたホスト名とポート番号に対して直接、TCP 接続を作成します。

mqssl

ssljms

hostName:portNumber /ssljms

ssljms 接続サービスを使用して、指定されたポートに接続します。

ポートマッパーをバイパスし、指定されたホスト名とポート番号に対して直接、安全な SSL 接続を作成します。

http

httpjms

http://hostName: portNumber/contextRoot /tunnel

複数のブローカインスタンスが同じトンネルサーブレットを使用する場合、次の構文では、ランダムに選択されたブローカインスタンスではなく、特定のブローカインスタンスに接続します。 

http://hostName: portNumber/contextRoot /tunnel?

    ServerName=hostName :instanceName


httpjms 接続サービスを使用して、指定されたポートに接続します。

指定された URL の Message Queue トンネルサーブレットに対して、HTTP 接続を作成します。HTTP トンネルサーブレットにアクセスするように、ブローカを設定する必要があります。

https

httpsjms

https://hostName: portNumber/contextRoot /tunnel

複数のブローカインスタンスが同じトンネルサーブレットを使用する場合、次の構文では、ランダムに選択されたブローカインスタンスではなく、特定のブローカインスタンスに接続します。 

https://hostName: portNumber/contextRoot /tunnel?

    ServerName=hostName :instanceName


httpsjms 接続サービスを使用して、指定されたポートに接続します。

指定された URL の Message Queue トンネルサーブレットに対して、安全な HTTPS 接続を作成します。HTTPS トンネルサーブレットにアクセスするように、ブローカを設定する必要があります。

表 16–3 メッセージブローカアドレスの例

サービス 

ブローカホスト 

ポート 

アドレス例 

未指定 

未指定 

未指定 

アドレスなし (mq://localHost:7676/jms)

未指定 

指定したホスト 

未指定 

myBkrHost (mq://myBkrHost:7676/jms)

未指定 

未指定 

指定したポートマッパーポート 

1012 (mq://localHost:1012/jms)

ssljms

ローカルホスト 

標準のポートマッパーポート 

mq://localHost:7676/ssljms

ssljms

指定したホスト 

標準のポートマッパーポート 

mq://myBkrHost:7676/ssljms

ssljms

指定したホスト 

指定したポートマッパーポート 

mq://myBkrHost:1012/ssljms

jms

ローカルホスト 

指定したサービスポート 

mqtcp://localhost:1032/jms

ssljms

指定したホスト 

指定したサービスポート 

mqssl://myBkrHost:1034/ssljms

httpjms

該当なし 

該当なし 

http://websrvr1:8085/imq/tunnel

httpsjms

該当なし 

該当なし 

https://websrvr2:8090/imq/tunnel

クライアントの識別

表 16–4 に、クライアント識別に関する接続ファクトリ属性を示します。

表 16–4 クライアントの識別に関する接続ファクトリ属性

属性 

データ型 

デフォルト値 

説明 

imqDefaultUsername

文字列 

guest

ブローカで認証するデフォルトユーザー名 

imqDefaultPassword

文字列 

guest

ブローカで認証するデフォルトパスワード 

imqConfiguredClientID

文字列 

null

管理用に設定したクライアント識別子 

imqDisableSetClientID

ブール 

false

クライアントが setClientIDメソッドを使用してクライアント識別子を変更できないようにするかどうか

信頼性およびフロー制御

表 16–5 に、信頼性とフロー制御に関する接続ファクトリ属性を示します。

表 16–5 信頼性とフロー制御に関する接続ファクトリ属性

属性 

データ型 

デフォルト値 

説明 

imqAckTimeout

文字列 

0

例外をスローするまでのブローカ通知の最大待ち時間 (ミリ秒単位) 

0 は、タイムアウトがない、つまり無期限に待つことを示します。


注 –

状況によっては、値が低すぎると、タイムアウトが必要以上に早くなる可能性があります。たとえば、安全な (SSL) 接続を使用するときの LDAP ユーザーリポジトリに対する最初のユーザー認証には、30 秒以上かかることがあります。


imqConnectionFlowCount

整数 

100

測定対象のバッチのペイロードメッセージ数 

クライアントにこの数のペイロードメッセージを配信したあと、配信を一時停止します。これにより、累積された制御メッセージがある場合は、それを配信できます。ペイロードメッセージの配信は、クライアントランタイムから通知があったときに再開され、ふたたびこの数に達するまで続けられます。 

0 では、メッセージ配信の測定が無効になります。この場合、ペイロードメッセージのトラフィックが多いと、Message Queue 制御メッセージがブロックされる可能性があります。

imqConnectionFlowLimitEnabled

ブール 

false

接続レベルでメッセージフローを制限するかどうか 

imqConnectionFlowLimit

整数 

1000

接続単位での、消費のために配信およびバッファリングするメッセージの最大数 

imqConnectionFlowCount で制御されるフロー測定によって保留中の消費されていないペイロードメッセージ数がこの制限を越えたときに、特定の接続のメッセージ配信を停止します。保留中のメッセージの数が制限を下回ったときにのみ、配信を再開します。これにより、クライアントが、保留中のメッセージの処理で過負荷になってメモリー不足になるのを回避できます。

imqConnectionFlowLimitEnabledfalse の場合、この属性は無視されます。

imqConsumerFlowLimit

整数 

100

コンシューマ単位での、消費のために配信およびバッファリングするメッセージの最大数 

特定のコンシューマに対して保留中の消費されていないペイロードメッセージ数がこの制限を超えたときに、そのコンシューマへのメッセージ配信を停止します。そのコンシューマに対する保留中のメッセージの数が、imqConsumerFlowThreshold で指定される割合を下回ったときにのみ、配信を再開します。これを使用して、複数のコンシューマ間のロードバランスを向上させ、同じ接続上で 1 つのコンシューマがほかのコンシューマの通信を妨げるのを回避できます。

キュー独自の consumerFlowLimit 属性 (第 15 章「物理的送信先のプロパティーのリファレンス」を参照) に低い値を設定することで、この制限を上書きできます。また、特定の接続上のすべてのコンシューマへのメッセージ配信は、imqConnectionFlowLimit で指定する全体の制限に従います。

imqConsumerFlowThreshold

整数 

50

コンシューマ単位での、クライアントランタイムでバッファリングされるメッセージ数。imqConsumerFlowLimit に対する割合で指定し、その数を下回るとメッセージ配信を再開します

キューブラウザとサーバーセッション

表 16–6 に、キュー検索とサーバーセッションに関する接続ファクトリ属性を示します。

表 16–6 キューブラウザとサーバーセッションに関する接続ファクトリ属性

属性 

データ型 

デフォルト値 

説明 

imqQueueBrowserMaxMessagesPerRetrieve

整数 

1000

キュー送信先の内容を検索するときに一度に取得できるメッセージの最大数 


注 –

この属性は、参照されるメッセージの総数には影響せず、クライアントランタイムに配信するためにチャンクされる方法だけに影響します。つまり、サイズの大きいチャンクを少数にするか、サイズの小さいチャンクを多数にするか、です。クライアントアプリケーションは、キュー内のすべてのメッセージを常に受信します。属性の値の変更は、パフォーマンスに影響することがありますが、受信するデータの総量には影響しません。


imqQueueBrowserRetrieveTimeout

倍長整数 

60000

キュー送信先の内容を検索するときに例外をスローするまでのメッセージ取得の最大待ち時間 (ミリ秒単位) 

imqLoadMaxToServerSession

ブール 

true

サーバーセッションに対して最大数までのメッセージを読み込むかどうか 

false に設定すると、クライアントは、1 回に 1 つのメッセージのみを読み込みます。

この属性は、JMS アプリケーションサーバー機能のみに適用されます。

標準メッセージプロパティー

表 16–7 に示す接続ファクトリ属性は、『Java Message Service Specification』で定義されているいくつかの標準メッセージプロパティーを、Message Queue クライアントランタイムが設定するかどうかを制御します。

表 16–7 標準メッセージプロパティーに関する接続ファクトリ属性

プロパティー 

データ型 

デフォルト値 

説明 

imqSetJMSXUserID

ブール 

false

生成されたメッセージに、メッセージを送信するユーザーの識別情報を示す JMSXUserID プロパティーを設定するかどうか

imqSetJMSXAppID

ブール 

false

生成されたメッセージに、メッセージを送信するアプリケーションの識別情報を示す JMSXAppID プロパティーを設定するかどうか

imqSetJMSXProducerTXID

ブール 

false

生成されたメッセージに、メッセージが生成されたトランザクションのトランザクション識別子を示す JMSXProducerTXID プロパティーを設定するかどうか

imqSetJMSXConsumerTXID

ブール 

false

消費されたメッセージに、メッセージが消費されたトランザクションのトランザクション識別子を示す JMSXConsumerTXID プロパティーを設定するかどうか

imqSetJMSXRcvTimestamp

ブール 

false

消費されたメッセージに、メッセージがコンシューマに配信された時刻を示す JMSXRcvTimestamp プロパティーを設定するかどうか

メッセージヘッダーの上書き

表 16–8 に、JMS メッセージヘッダーフィールドの上書きに関する接続ファクトリ属性を示します。

表 16–8 メッセージヘッダーの上書きに関する接続ファクトリ属性

属性 

データ型 

デフォルト値 

説明 

imqOverrideJMSDeliveryMode

ブール 

false

クライアントが設定した配信モードの上書きを許可するかどうか 

imqJMSDeliveryMode

整数 

2

配信モードの上書きの値 

1 持続性なし

2 持続的

imqOverrideJMSExpiration

ブール 

false

クライアントが設定した有効期限の上書きを許可するかどうか 

imqJMSExpiration

倍長整数 

0

有効期限の上書きの値 (ミリ秒単位) 

0 は、有効期限が無制限である、つまりメッセージが期限切れにならないことを示します。

imqOverrideJMSPriority

ブール 

false

クライアントが設定した優先度のレベルの上書きを許可するかどうか 

imqJMSPriority

整数 

4 (標準)

優先度のレベルの上書きの値 (09)

imqOverrideJMSHeadersToTemporaryDestinations

ブール 

false

上書きを一時的送信先に適用するかどうか 

送信先の属性

表 16–9 に、送信先管理対象オブジェクトに設定できる属性を示します。

表 16–9 送信先の属性

属性 

データ型 

デフォルト値 

説明 

imqDestinationName

文字列 

Untitled_Destination_Object

物理的送信先の名前 

送信先名は、スペースを含まない英数字だけを使用でき、英字、下線 (_)、またはドル記号 ($) 文字で始める必要があります。文字列 mq で始めることはできません。

imqDestinationDescription

文字列 

なし 

送信先の説明文字列 

SOAP の端点 (endpoint) の属性

表 16–10 に、SOAP (Simple Object Access Protocol) を使用するアプリケーションの端点の URL を設定するために使用する属性を示します。詳細については、『Message Queue Developer's Guide for Java Clients』を参照してください。

表 16–10 SOAP の端点 (endpoint) の属性

属性 

データ型 

デフォルト値 

説明 

imqSOAPEndpointList

文字列 

なし 

メッセージ送信先の SOAP の端点を表す 1 つ以上の URL のスペース区切りのリスト

それぞれの URL は、SOAP メッセージを受信および処理できるサーブレットに関連付けられている必要があります。

例:

    http://www.serv1/ http://www.serv2/


リストで複数の URL を指定すると、メッセージはそれらすべてにブロードキャストされます。

imqEndpointName

文字列 

Untitled_Endpoint_Object

SOAP の端点の名前

imqEndpointDescription

文字列 

なし 

SOAP の端点の説明文字列

例:

    My endpoints for broadcast