第 16 章
管理対象オブジェクト属性のリファレンス
この章では、管理対象オブジェクトの属性に関する参照情報を提供します。この章は、次の節から構成されています。
接続ファクトリの属性
接続ファクトリオブジェクトの属性は、以下の節で説明する次のカテゴリに分けられます。
接続の処理
表 16-1 に、接続処理に関する接続ファクトリ属性を示します。
表 16-1 接続の処理に関する接続ファクトリ属性
|
属性
|
データ型
|
デフォルト値
|
説明
|
|
imqAddressList
|
文字列
|
既存の Message Queue 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 に設定します。
|
imqAddressList 属性の値は、接続先のメッセージサーバーのアドレスを 1 つ以上指定するコンマ区切りの文字列です。各アドレスの一般的な構文は、次のようになります。
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 に、さまざまなアドレス形式の例を示します。
表 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 で制御されるフロー測定によって保留中の消費されていないペイロードメッセージ数がこの制限を越えたときに、特定の接続のメッセージ配信を停止します。保留中のメッセージの数が制限を下回ったときにのみ、配信を再開します。これにより、クライアントが、保留中のメッセージの処理で過負荷になってメモリー不足になるのを回避できます。
imqConnectionFlowLimitEnabled が false の場合、この属性は無視されます。
|
|
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 (標準)
|
優先度のレベルのオーバーライドの値 (0 〜 9)
|
|
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 の端点の属性
|
属性
|
データ型
|
デフォルト値
|
説明
|
|
imqSOAPEndpointList
|
文字列
|
なし
|
メッセージ送信先の SOAP の端点を表す 1 つ以上の URL のスペース区切りのリスト
それぞれの URL は、SOAP メッセージを受信および処理できるサーブレットに関連付けられている必要があります。
例:
http://www.serv1/ http://www.serv2/
リストで複数の URL を指定すると、メッセージはそれらすべてにブロードキャストされます。
|
|
imqEndpointName
|
文字列
|
Untitled_Endpoint_Object
|
SOAP の端点の名前
|
|
imqEndpointDescription
|
文字列
|
なし
|
SOAP の端点の説明文字列
例:
My endpoints for broadcast
|