第 16 章
管理対象オブジェクト属性のリファレンス
この章では、管理対象オブジェクトの属性に関する参照情報を提供します。この章は、次の節から構成されています。
送信先のプロパティ
表 16-1 では、送信先管理対象オブジェクトを設定する属性について一覧表示します。
表 16-1 送信先管理対象オブジェクトの属性
属性名
|
説明
|
データ型
|
デフォルト値
|
imqDestinationDescription
|
送信先オブジェクトの説明。
|
文字列
|
なし
|
imqDestinationName
|
物理的送信先の名前。
|
文字列
|
Untitled_Destination_Object
|
コネクションファクトリの属性
この節では、コネクションファクトリ管理対象オブジェクトを設定する属性の参照情報を提供します。属性は次のセクションに分類できます。
表 16-2 は、コネクションファクトリ管理対象オブジェクトの属性のインデックスです。最初の列では、それぞれの属性がアルファベット順に並んでいます。第 2 列はカテゴリ、第 3 列は属性について説明する表への相互参照です。
コネクションの処理
表 16-2 では、コネクション処理のコネクションファクトリの属性について一覧表示します。
表 16-2 コネクションファクトリの属性: コネクションの処理
属性名
|
説明
|
データ型
|
デフォルト値
|
imqAddressList
|
1 つ以上のメッセージサーバーアドレスをコンマで区切ったリスト。使用するコネクションサービスとポート割り当て手法により、アドレススキーマは異なります。
アドレスリストの指定方法、およびリストエントリについて説明する例については、「imqAddressList 属性値の構文」を参照してください。
|
文字列
|
既存の Message Queue 3.0 アドレス、またはそれがない場合は表 16-3 の最初のエントリ。
|
imqAddressListBehavior
|
imqAddressList 属性のアドレスの順序で接続を試すか (PRIORITY)、ランダムに接続を試すか (RANDOM) を指定する文字列。多くのクライアントが同じコネクションファクトリを使用してコネクションを試す場合は、ランダムな順序を使用し、すべてのクライアントが同じアドレスに接続することを防ぐことができます。
|
文字列
|
PRIORITY
|
imqAddressListIterations
|
コネクションの確立か再確立で、クライアントランタイムが imqAddressList を繰り返す回数。値を -1 にすると、試行回数は無制限になります。
|
整数
|
5
|
imqPingInterval
|
アプリケーションとブローカ間でクライアントランタイムが接続をテストする、秒単位の頻度。
値を -1 か 0 (ゼロ) にすると、クライアントランタイムはコネクションを定期的にテストしません。
|
整数
|
30
|
imqReconnectEnabled
|
コネクションが失われたとき、クライアントランタイムがメッセージサーバー (または imqAddressList のアドレスリスト) への再接続を試すかどうかを指定するブール値。
|
ブール
|
false
|
imqReconnectAttempts
|
クライアントランタイムが、imqAddressList の次のアドレスを試す前に、リストのアドレスごとに接続か再接続を試す回数。値を -1 にすると、再接続試行回数は無限になり、クライアントランタイムは、正常に接続されるまで、最初のアドレスへの接続を試します。
|
整数
|
0
|
imqReconnectInterval
|
再接続を試す間隔 (ミリ秒単位)。この値は、imqAddressList のそれぞれのアドレスにおける試行、およびリストの後続アドレスに適用されます。値が小さすぎる場合、ブローカでは復元時間が不十分になります。値が大きすぎる場合、再接続により、許容できない遅延が発生することがあります。
|
long
|
3000
|
imqSSLIsHostTrusted
|
クライアントがブローカの自己署名型証明書を受け入れるかどうかを指定するブール値。認証局からの署名付き証明書を使用するには、この値を false に設定します。
|
ブール
|
true
|
imqAddressList 属性値の構文
imqbrokerlist 値のそれぞれのアドレスは、クライアントランタイムが接続できるブローカインスタンスに対応します。
コネクションサービスごとに別々の方法でブローカアドレスを指定します。一般的な構文は次のとおりです。
リストにアドレスを追加するには、コンマに続けて別のアドレスを追加します。リストには任意の数のエントリを含めることができます。形式は次のとおりです。
scheme://address_syntax,scheme://address_syntax...
scheme 変数では、表 16-3 で説明するように、 mq、mqtcp、mqssl、http、https など、使用するアドレスタイプを指定します。address_syntax 変数は、スキーマ固有のブローカアドレスを表します。表 16-3 では、アドレススキーマについて説明します。最初の列は、アドレススキーマの名前です。第 2 列は、その名前に関連するコネクションサービス、第 3 列は説明、第 4 列は使用する構文です。
表 16-3 imqAddressList 属性のアドレススキーマ
スキーマ
|
コネクションサービス
|
説明
|
構文
|
mq
|
ms ssljms
|
jms サービスか ssljms サービスで使用するダイナミックポート割り当てを提供します。
ポートマッパーのホストとポートを指定します。ポートマッパーにより、接続に使用するポートがダイナミックに割り当てられます。
|
[hostName][:port][/serviceName]
jms コネクションサービスの場合は、次のデフォルト値が適用されます。
hostName = localhost port = 7676 serviceName = jms
ssljms コネクションサービスの場合、デフォルト値はありません。すべての変数を指定する必要があります。
|
mqtcp
|
jms
|
ポート番号を指定し、jms コネクションサービスを使用します。
Message Queue クライアントランタイムにより、指定したホストとポートに TCP 接続が行なわれ、コネクションが確立されます。
|
hostName:port/jms
|
mqssl
|
ssljms
|
ポート番号を指定し、ssljms コネクションサービスを使用します。
Message Queue クライアントランタイムにより、指定したホストとポートに安全な SSL 接続が行なわれ、コネクションが確立されます。
|
port/ssljms
|
http
|
httpjms
|
httpjms コネクションサービスを使用します。
クライアントランタイムにより、指定した URL で Message Queue トンネルサーブレットへの HTTP 接続が行なわれます。HTTP トンネルサーブレットにアクセスするように、ブローカを設定する必要があります。
|
http://hostName:port/contextRoot/tunnel
複数のブローカインスタンスで同じトンネルサーブレットを使用する場合、ランダムに選択されたブローカインスタンスではなく、特定のブローカインスタンスに接続する構文は次のとおりです。
http://hostName:port/contextRoot/tunnel?ServerName=hostName:instanceName
|
https
|
httpsjms
|
httpsjms コネクションサービスを使用します。
Message Queue クライアントランタイムにより、指定した Message Queue トンネルサーブレット URL への安全な HTTPS 接続が行なわれます。HTTPS トンネルサーブレットにアクセスするように、ブローカを設定する必要があります。
|
https://hostName:port/contextRoot/tunnel
複数のブローカインスタンスで同じトンネルサーブレットを使用する場合、ランダムに選択されたブローカインスタンスではなく、特定のブローカインスタンスに接続する構文は次のとおりです。
https://hostName:port/contextRoot/tunnel?ServerName=hostName:instanceName
|
表 16-4 はアドレス形式の例です。最初の列はコネクションサービスの名前です。第 2 列は、例のホストがローカルホストであるか、未指定ホストであるか、指定済みホストであるか、該当なしであるかを示します。第 3 列は、例のポートが指定済みであるか、未指定であるか、該当なしであるかを示します。第 4 列は例です。
表 16-4 メッセージサーバーアドレスの例
コネクションサービス
|
ブローカホスト
|
ポート
|
アドレス例
|
未指定
|
ローカルホスト
|
未指定
|
デフォルト値 (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-5 では、クライアント識別のコネクションファクトリの属性について一覧表示します。
表 16-5 コネクションファクトリの属性: クライアントの識別
属性名
|
説明
|
データ型
|
デフォルト値
|
imqDefaultUsername
|
ブローカで認証するためのデフォルトユーザー名。
|
文字列
|
guest
|
imqDefaultPassword
|
ブローカで認証するためのデフォルトパスワード。
|
文字列
|
guest
|
imqConfiguredClientID
|
管理用に設定するクライアント ID。
|
文字列
|
null
|
imqDisableSetClientID
|
JMS API の setClientID() メソッドを使用してクライアント ID を変更することをできないようにするかどうかを指定するブール値。
|
ブール
|
false
|
メッセージヘッダーのオーバーライド
表 16-6 では、JMS メッセージヘッダーフィールドをオーバーライドするコネクションファクトリ属性について一覧表示します。
表 16-6 コネクションファクトリの属性: メッセージヘッダーのオーバーライド
属性名
|
説明
|
データ型
|
デフォルト値
|
imqOverrideJMSDeliveryMode
|
クライアントが設定した JMSDeliveryMode フィールドをオーバーライドできるかどうかを指定するブール値。
|
ブール
|
false
|
imqJMSDeliveryMode
|
JMSDeliveryMode のオーバーライド値。値は 1 (持続性なし) と 2 (持続性あり) です。
|
整数
|
2
|
imqOverrideJMSExpiration
|
クライアントが設定した JMSExpiration フィールドをオーバーライドできるかどうかを指定するブール値。
|
ブール
|
false
|
imqJMSExpiration
|
JMSExpiration のオーバーライド値 (ミリ秒単位)。
|
long
|
0 (失効なし)
|
imqOverrideJMSPriority
|
クライアントが設定した JMSPriority フィールドをオーバーライドできるかどうかを指定するブール値。
|
ブール
|
false
|
imqJMSPriority
|
JMSPriority のオーバーライド値 (0 から 9 までの整数)。
|
整数
|
4 (標準)
|
imqOverrideJMSHeadersToTem
poraryDestinations
|
オーバーライドを一時的送信先に適用するかどうかを指定するブール値。
|
ブール
|
false
|
信頼性およびフロー制御
表 16-7 では、信頼性とフロー制御を設定するコネクションファクトリ属性について一覧表示します。
表 16-7 コネクションファクトリの属性: 信頼性およびフロー制御
属性名
|
説明
|
データ型
|
デフォルト値
|
imqAckTimeout
|
クライアントランタイムが例外をスローする前にブローカの応答を待機する最大時間 (ミリ秒単位)。値を 0 にすると、タイムアウトはなくなり、クライアントランタイムは永久に待機します。
一部の状況では、この値が低すぎるため、クライアントランタイムがタイムアウトになることがあります。たとえば、ブローカが LDAP ユーザーリポジトリと安全な (SSL) コネクションを使用して認証するそれぞれのユーザーでは、最初の認証にかかる時間が 30 秒を超えることがあります。
|
文字列
|
0
|
imqAckOnProduce
|
ブローカがプロデューシングクライアントからのメッセージに応答する方法を指定する文字列。
この属性を true に設定すると、ブローカは、プロデューシングクライアントから受信したすべての JMS メッセージ (持続性ありと持続性なし) に応答します。プロデューシングクライアントスレッドは、この応答の待機中にブロックされます。
この属性を指定しない場合、ブローカは持続メッセージのみに応答します。プロデューシングクライアントスレッドは、この応答の待機中にブロックされます。
|
文字列
|
指定なし
|
imqConnectionFlowCount
|
測定済みバッチの JMS メッセージ数。この数の JMS メッセージがクライアントランタイムに配信されると、配信は一時的に中断され、保留されていた制御メッセージが配信されます。ペイロードメッセージの配信はクライアントランタイムによる通知時に再開され、カウントに再び達するまで継続されます。
カウントを 0 に設定すると、測定済みバッチの JMS メッセージ数の制限はなくなります。ゼロ以外に設定すると、大量の JMS メッセージ配信によって Message Queue 制御メッセージがブロックされないように、クライアントランタイムによってメッセージフローが測定されます。
|
整数
|
100
|
imqConnectionFlowLimit
Enabled
|
imqConnectionFlowLimit の値を使用して、コネクションレベルでメッセージフローを制限するかどうかを指定するブール値。
|
ブール
|
false
|
imqConnectionFlowLimit
|
コネクションを介して配信され、消費を待機する間、クライアントランタイムにバッファリングされるメッセージ数の最大数。imqConnectionFlowIsLimited を有効にしないと、この制限がチェックされないことに注意してください。
imqConnectionFlowCount によって制御されるフロー測定に従い、クライアントランタイムに配信される JMS メッセージの数がこの制限を超えると、メッセージ配信は停止します。消費されていないメッセージ数が、この属性で設定した値を下回った場合にかぎり、配信は再開されます。
この制限により、メッセージ処理に時間がかかるコンシューミングクライアントが保留メッセージに圧倒されて、メモリー不足になることが防止されます。
|
整数
|
1000
|
imqConsumerFlowLimit
|
コネクションを介して配信され、消費を待機する間、クライアントランタイムにバッファリングされる、コンシューマごとのメッセージ数の最大数。複数のコンシューマがキュー配信を実行する状況で、不均衡な数のメッセージが 1 つのコンシューマに送信されないように、コンシューマ間のロードバランスを改善するには、この制限を使用します。キューの consumerFlowLimit 属性でブローカサイドにおいて低い値を設定すると、この制限をオーバーライドできます。『Message Queue 管理ガイド』の送信先属性を参照してください。
この制限では、接続の 1 つのコンシューマのために、コネクションのその他のコンシューマにメッセージが送信されなくなることも防止できます。
クライアントランタイムへ配信された JMS メッセージの数が、いずれかのコンシューマのこの制限を超えた場合、そのコンシューマへのメッセージ配信は停止します。そのコンシューマの消費されないメッセージの数が、imqConsumerFlowThreshold で設定した値を下回った場合にだけ、配信処理が再開されます。
コネクションのすべてのコンシューマでバッファリングされるメッセージ総数が imqConnectionFlowLimit を超えると、その総数がコネクションの制限を下回るまで、そのコネクションによるメッセージ配信は停止します。
|
整数
|
100
|
imqConsumerFlow
Threshold
|
クライアントランタイムでバッファリングされる、コンシューマごとのメッセージ数を、imqConsumerFlowLimit の率として指定します。これを下回ると、コンシューマへのメッセージ配信が再開されます。
|
整数
|
50
|
キューブラウザの動作とサーバーセッション
表 16-8 では、クライアントのキューブラウズに影響する属性について説明します。
表 16-8 コネクションファクトリの属性: キューブラウザの動作
属性名
|
説明
|
データ型
|
デフォルト値
|
imqQueueBrowserMax
MessagesPerRetrieve
|
キュー送信先の内容を検索する場合、クライアントが一度に取得できる最大メッセージ数。
|
整数
|
1000
|
imqQueueBrowserRetrieveTimeout
|
キュー送信先の内容を検索するとき、クライアントランタイムが例外をスローする前に、メッセージの取得を待機する、最大時間 (ミリ秒単位)。
|
long
|
60000
|
imqLoadMaxToServerSession
|
JMS アプリケーションサーバー機能の場合、Message Queue の接続コンシューマが、maxMessages に指定した数までのメッセージを ServerSession のセッションにロードするかどうかを指定するブール値。false に設定すると、クライアントは、1 回に 1 つのメッセージのみをロードします。
|
|
true
|
JMS の定義済みプロパティのサポート
JMS によって定義されるプロパティは、JMS によって予約される名前であり、JMS プロバイダは、クライアントのプログラミング機能を向上するためにサポートすることを選択できます。表 16-9 では、Message Queue によってサポートされる、JMS 定義のプロパティについて説明します。
表 16-9 コネクションファクトリの属性: JMS の定義済みプロパティのサポート
プロパティ名
|
説明
|
データ型
|
デフォルト値
|
imqSetJMSXUserID
|
JMS 定義プロパティ JMSXUserID (メッセージを送信するユーザーの ID) を生成済みメッセージで設定するかどうかを指定するブール値。
|
ブール
|
false
|
imqSetJMSXAppID
|
JMS 定義プロパティ JMSXAppID (メッセージを送信するアプリケーションの ID) を生成済みメッセージで設定するかどうかを指定するブール値。
|
ブール
|
false
|
imqSetJMSXProducerTXID
|
JMS 定義プロパティ JMSXProducerTXID (このメッセージが生成されたトランザクションのトランザクション識別子) を生成済みメッセージで設定するかどうかを指定するブール値。
|
ブール
|
false
|
imqSetJMSXConsumerTXID
|
JMS 定義プロパティ JMSXConsumerTXID (このメッセージが消費されたトランザクションのトランザクション識別子) を消費済みメッセージで設定するかどうかを指定するブール値。
|
ブール
|
false
|
imqSetJMSXRcvTimestamp
|
消費されたメッセージに対して、JMS 定義プロパティ JMSXRcvTimestamp (メッセージをコンシューマに配信する時間) を設定するかどうかを指定するブール値。
|
ブール
|
false
|
SOAP の端点 (endpoint) の属性
表 16-10 では、SOAP を使用するアプリケーションの端点の URL を設定する属性について説明します。SOAP を使用するアプリケーションについては、『Message Queue Developer's Guide for Java Clients』を参照してください。
表 16-10 SOAP の端点の属性
属性名
|
説明
|
データ型
|
デフォルト値
|
imqSOAPEndpointList
|
メッセージ送信先の SOAP の端点を表す、スペースで区切った 1 つ以上の URL のリスト。
複数の URL を指定すると、メッセージはリストのすべての URL にブロードキャストされます。それぞれの URL は、SOAP メッセージの受信と処理を実行できるサーブレットに関連している必要があります。
例:
http://www.myServlet/
http://www.myServlet2/
|
文字列
|
|
imqEndpointName
|
SOAP の端点の名前。
例: MyTopicEndpoint
|
文字列
|
Untitled_
Endpoint_
Object
|
imqEndpointDescription
|
SOAP の端点の属性の説明。
例:
"imqEndpointDescription=my endpoints for broadcast"
|
文字列
|
A
description
for the
endpoint
object
|