- brokername
- (必須) 変更するブローカーの名前。これは最初のパラメーターでなければなりません。
- -b ComponentName
- (オプション) プロパティーに変更を加えるコンポーネントの名前。HTTP リスナー・コンポーネントの場合は、httplistener を使用します。
- -e ExecutionGroupLabel
- (オプション) 予約済み
- -o ObjectName
- (必須) プロパティーに変更を加えるオブジェクトの名前。以下にリストされているいずれかの値に設定しなければなりません。
- -n PropertyName
- (必須) 変更されるプロパティーの名前。
- -v PropertyValue
- (必須) 指定した PropertyValue が PropertyName で指定されたプロパティーに割り当てられます。
区切り記号としてコンマを使用して、複数の名前とそれに対応する値を指定することができます。たとえば、
-n Name1, Name2 -v Value1, Value2
ブローカー間の通信の場合は、以下の
ObjectName 値が使用可能です。
- DynamicSubscriptionEngine
httplistener コンポーネント (HTTPInput および HTTPReply ノードを含む) の場合は、以下の
ObjectName 値が使用可能です。
- HTTPListener プロセスを制御する場合は HTTPListener。
- HTTPInput および HTTPReply ノードとの HTTP 通信を制御する場合は HTTPConnector。
- HTTPInput および HTTPReply ノードとの HTTPS 通信を制御する場合は HTTPSConnector。
HTTP
ObjectName 設定を使用する際には、
httplistener ComponentName は必須です。
ブローカー間通信パラメーター値
ブローカー間通信の場合に有効なプロパティー名は、以下にリストされているとおりです。
- brokerInputQueues
- ブローカー間接続からメッセージを処理する際に使用するディスパッチ・キューの最大数を指定します。この値を増やすと、ブローカー間接続を経由してメッセージを送信できる比率が増えます。
- brokerInputQueueLength
- 各入力キューに保管できるメッセージの最大数を定義します。この値が大きいと、各入力キューに保管できる入力メッセージの数が多くなります。このプロパティーの値を大きくすると、ブローカーが各キューで必要とするメモリーの最大合計も大きくなることに注意してください。
- brokerPingInterval
- ブローカー間の接続でブローカーが PING メッセージを開始するミリ秒単位の時間間隔。PING メッセージを使えば、接続の両端で通信がオープンのままかどうかを確認できます。これは、内部的に生成されます。この値が 0 であると、ブローカーは PING を開始しません。
- clientPingInterval
- ブローカーとクライアントの接続上でブローカーが PING メッセージを開始するミリ秒単位の時間間隔。PING メッセージを使えば、接続の両端で通信がオープンのままかどうかを確認できます。これは、内部的に生成されます。この値が 0 であると、ブローカーは PING を開始しません。
- enableClientDiscOnQueueOverflow
- これが true の場合、該当するすべてのメッセージを削除しても maxClientQueueSize を超えていると、ブローカーはクライアントを切断します。
- enableQopSecurity
- メッセージ用の保護品質レベルを使用可能にします。
デフォルトでは、isysQopLevel 値または sysQopLevel 値のいずれかがデフォルト値の none から変更された場合に、保護品質は使用可能になります。
- httpDispatchThreads
- この値は、ブローカーが HTTP トンネリング・クライアントの管理専用に使うスレッドの数です。
- httpProtocolTimeout
- この値は、HTTP プロトコルのタイムアウト・インターバルのミリ秒数です。この値を変更して、HTTP トンネリング・プロトコルの任意のフェーズで次のイベントをブローカーが待機する時間を更新することができます。値が 0 の場合、ブローカーは無限に待機することになります。
- interbrokerHost
- ブローカーの IP ホスト名を指定します。ヌルとしてデフォルトのままにしてもよいのは、単一ブローカー構成だけです。
mqsichangeproperties <broker>
-o DynamicSubscriptionEngine -n interbrokerHost -v <IP host name>
値を変更した場合は、ブローカーを停止してから再始動する必要があります。その後で、トポロジー全体を再デプロイする必要があります。
- interbrokerPort
- 着信するブローカー間接続をブローカーが listen するポート番号。1 つのマシン上で複数のブローカーが稼働する場合は、ブローカーごとに interbrokerPort プロパティーを別々の値に設定してください。以下に例を示します。
mqsichangeproperties <broker>
-o DynamicSubscriptionEngine -n interbrokerPort -v <port number>
トポロジーのデプロイ前に interbrokerPort 値を設定しない場合は、ブローカーを再始動してください。
値を変更した場合は、ブローカーを停止してから再始動する必要があります。その後で、トポロジー全体を再デプロイする必要があります。
- isysQopLevel
- システムに適用され、ブローカーがパブリッシュおよびサブスクライブのみを行えるようにします。
- maxBrokerQueueSize
- ブローカーが別のブローカーへの送信用にキューに入れておくバイトの最大数。最大数を超えると、最新のメッセージ、高位優先度のメッセージ、および応答メッセージを除いて、そのブローカー用にキューに入っていたすべてのメッセージがブローカーによって削除されます。これが 0 の場合、ブローカーは、別のブローカー用にキューに入れておくバイト数を制限しません。
- maxClientQueueSize
- ブローカーがクライアントへの送信用にキューに入れておくバイトの最大数。最大数を超えると、最新のメッセージ、最高優先度のメッセージ、および応答メッセージを除いて、そのクライアント用にキューに入っていたすべてのメッセージがブローカーによって削除されます。これが 0 の場合、ブローカーはクライアント用にキューに入れておくバイト数を制限しません。
このプロパティーの値は、maxMessageSize 値より大きいか、等しくなければなりません。
- maxConnections
- ブローカーで許容される同時接続クライアントの最大数。この限度に達すると、ブローカーはクライアントからの新しい接続要求を拒否します。この値が 0 より小さい場合、クライアント数に制限はありません。
- maxHopCount
- 複数ブローカー・ネットワークでメッセージのループが起きないようにするために、メッセージの送信に使用する複数ブローカー・リンクの最大数を指定します。この値は、複数ブローカー・ネットワーク内のどこにでもメッセージを送信できるように十分な大きさに設定してください。
- maxMessageSize
- バイト単位の最大許容メッセージ・サイズ。この最大サイズを超えるメッセージがクライアントから着信した場合、そのクライアントは切断されます。
このプロパティーの値は、maxClientQueueSize 値より小さいか、等しくなければなりません。
- multicastAddressRangeMax
- ブローカーがマルチキャスト伝送のために使用できる最大 IP アドレス。
224.0.0.2 から 239.255.255.255 の範囲でなければなりません。
- 値タイプ - ストリング
- 初期値 - 239.255.255.255
- multicastAddressRangeMin
- ブローカーがマルチキャスト伝送のために使用できる最小 IP アドレス。
224.0.0.2 から 239.255.255.255 の範囲でなければなりません。
- 値タイプ - ストリング
- 初期値 - 224.0.0.2
- multicastBackoffTimeMillis
- クライアントが自身の NACK を送信する前に、他の NACK を listen する最大時間 (ミリ秒)。この値の範囲は 0 から 1000 になります。
- multicastDataPort
- マルチキャスト・パケットの送受信に使用される UDP データ・ポート。
- multicastEnabled
- multicastTopicsConfigFile で定義されているトピックをマルチキャストで配信するかどうかを指定します。値が true であれば、multicastTopicsConfigFile 内の指定されたトピックがマルチキャストで配送されます。
- multicastHeartbeatTimeoutSec
- 各クライアントで、コントロール・パケットが到着する間隔を秒数で示します。コントロール・パケットが前のコントロール・パケットの到着秒数 (このプロパティーで指定された値の 2 倍の数として定義されている) 内に到着しない場合、エラーの疑いがあります。
- multicastLimitTransRate
- このプロパティーを multicastTransRateLimitKbps プロパティーと一緒に使用すると、ネットワーク輻輳を制御できます。指定できる値は以下のとおりです。
- Disabled
- マルチキャスト・データはできる限り高速で伝送されます。
- Static
- 伝送速度は multicastTransRateLimitKbps で指定された値によって制限されます。
- Dynamic
- 伝送速度は処理中に変化しますが、multicastTransRateLimitKbps で指定された値は超えません。
- 値タイプ - ストリング
- 初期値 - Disabled
- multicastMaxKeyAge
- トピックの暗号鍵を再定義するまでの最大経過時間 (分)。
- multicastMaxMemoryAllowedKBytes
- クライアント受信バッファーによる最大メモリー消費量 (キロバイト単位)。
このパラメーターは、Pragmatic General Multicast (PGM) プロトコルが選択されている場合のみ 使用できます。
- multicastMCastSocketTTL
- マルチキャスト・パケットがクライアントとブローカーの間に作成できる最大ホップ数。クライアントとブローカー間に存在できるルーターの最大数より 1 つ大きな値になります。
値 1 は、パケットがすべてのローカル・ノードに達しますが、ルーターが中継することはできないことを示します。最大値は 255 です。
- multicastMinimalHistoryKBytes
- すべての伝送パケットのアーカイブとして割り振られるバッファーの最小サイズ (キロバイト)。このバッファーは、信頼できるすべてのトピックによって共用され、失われたパケットを回復するのに使用できます。この値の範囲は 1000 から 1,000,000 になります。
- multicastMulticastInterface
- マルチキャスト伝送のためにどのインターフェースを使用するかを示します。ホスト名または IP アドレスを指定できます。値が "none" である場合、ネットワーク・インターフェースがオペレーティング・システムに依存していることを示します。
- 値タイプ - ストリング
- 初期値 - "none"
注: ネットワーク・カードが 1 つしかない場合は、オペレーティング・システムは localhost 値を使用するので、デフォルト値の none が有効です。しかし、複数のネットワーク・カードがある場合は、確実に正しいカードが使用されるようにするには、このパラメーターを設定しなければなりません。
- multicastNACKAccumulationTimeMillis
- 回復したパケットが送信される前に、NACK がブローカー内に集約されるのに要する時間 (ミリ秒)。この値の範囲は 50 から 1000 になります。
- multicastNACKCheckPeriodMillis
- 受信状況の定期的なチェックと NACK 構築のためのシーケンス・ギャップ検出の時間の間隔 (ミリ秒)。この値の範囲は 10 から 1000 になります。
- multicastOverlappingTopicBehavior
- このプロパティーは、クライアントがトピックのマルチキャスト・サブスクリプションを要求するときに、ブローカーの動作を制御するのに使用されます。それはトピックを包含しているトピック階層の一部であり、マルチキャストは明示的に除外されています。指定できる値は以下のとおりです。
- 受諾 (Accept)
- 一致するマルチキャスト・サブスクリプションが受け入れられ、特に除外したパブリケーションを除き、トピックと一致するすべてのパブリケーションがマルチキャストされます。
- 拒否 (Reject)
- マルチキャストが使用不可能な子を持つトピックに対するマルチキャスト・サブスクリプションは、ブローカーによって拒否されます。
- 復帰 (Revert)
- マルチキャストが使用不可能なトピック、またはトピックの子に対するサブスクリプションは、ユニキャスト伝送になります。
- 値タイプ - ストリング
- 初期値 - Accept
- multicastPacketBuffers
- パケット受信の開始時に作成されるメモリー・バッファーの数。たくさんのバッファーを使用可能にすると、メモリー使用率は犠牲になりますが、受信のパフォーマンスが向上し、高送達速時のパケット損失を最小限に抑えられます。各バッファーは 33KB で、この値の範囲は 1 から 5000 になります。
- multicastPacketSizeBytes
- マルチキャスト・パケットのサイズをバイトで示します。500 から 32000 の範囲になります。
- multicastProtocolType
- プロトコルのタイプを指定します。これは以下のいずれかでなければなりません。
- multicastSocketBufferSizeKbytes
- クライアントのソケット受信側バッファーのサイズをキロバイトで示します。サイズを大きくすると、ロスする比率が下がります。この値の範囲は 65 から 10000 になります。
- multicastTransRateLimitKbps
- 全体の伝送速度を Kb (K ビット)/秒に制限します。
このプロパティーは、
multicastLimitTransRate プロパティーが Disabled ではない場合にのみ有効です。このプロパティーの値を、システムまたはネットワークの最大データ伝送速度以上に設定してはいけません。値は 10 から 1,000,000 の範囲になります。
- nonDurableSubscriptionEvents
- 非持続サブスクライバーの作成または削除時に、ユーザーがイベント・メッセージを希望するかどうかを示します。true 値の場合はイベント・パブリケーションを作成することになり、false 値の場合はイベント・パブリケーションを作成しないよう指示します。
- pingTimeoutMultiple
- ブローカーが応答を待ち始めてから応答がないので、クライアントまたはブローカーを切断するまでの clientPngIntervals または brokerPngIntervals の連続数。
- statsInterval
- この値は、統計のパブリケーションの間隔のミリ秒数です。これを 0 に設定すると、統計パブリケーションは生成されません。このプロパティーの変更後にブローカーを再始動する必要はありませんが、値の変更後にブローカーが統計の生成を開始するまでに最大 1 分を要することがあります。
注: この値が表すのは、パブリッシュ/サブスクライブ統計のインターバルだけです。
- sysQopLevel
- システムに適用され、ブローカーがパブリッシュのみを行えるようにします。
許可
Windows プラットフォームでは、このコマンドを呼び出すのに使用するユーザー ID には、ローカル・システムに対する Administrator 権限がなければなりません。
UNIX システムでは、このコマンドを呼び出すのに使用するユーザー ID は、root であるか、または mqsicreatebroker コマンドの -i パラメーターで指定したものと同じでなければなりません。また、mqbrkrs グループのメンバーでなければなりません。
さらに、さまざまなプロトコルの場合に、ブローカーに必要な権限は以下のとおりです。
- PGM/IP
- ブローカーに以下の権限が必要です。
- Linux および UNIX システムの場合、Root 権限
- Windows プラットフォームの場合、Administrator 権限
- z/OS の場合、root 権限 (UNIX システム・サービスのみ)
- PGM/UDP
- サポートされているすべてのプラットフォームで、ブローカーに User 権限が必要です。
- PTL
- サポートされているすべてのプラットフォームで、ブローカーに User 権限が必要です。
httplistener コンポーネントのパラメーター値
HTTPListener ObjectName の有効なプロパティー名は、以下にリストされているとおりです。
- enableSSLConnector
- HTTPS (SSL) を使用可能または使用不可にするのに使用できるブール値。HTTP リスナーがインバウンド SSL 接続を listen する前に、この値を「true」に設定しなければなりません。
HTTPConnector ObjectName の有効なプロパティー名は、以下にリストされているとおりです。
- address
- 複数の IP アドレスがあるサーバーの場合に、この値は指定されたポートでの listen に使用するアドレスを指定します。デフォルトでは、このポートはサーバーに関連したすべての IP アドレスで使用されます。これを指定した場合は 1 つのアドレスだけを使用できます。
- port
- このコネクターがサーバー・ソケットを作成し、着信接続を待機する TCP ポート番号。
HTTPSConnector ObjectName の有効なプロパティー名は、以下にリストされているとおりです。
- address
- 複数の IP アドレスがあるサーバーの場合に、この値は指定されたポートでの listen に使用するアドレスを指定します。デフォルトでは、このポートはサーバーに関連したすべての IP アドレスで使用されます。これを指定した場合は 1 つのアドレスだけを使用できます。
- port
- このコネクターがサーバー・ソケットを作成し、着信接続を待機する TCP ポート番号。
- algorithm
- 使用される証明書のエンコード・アルゴリズム。
- 値タイプ - ストリング
- 初期値 - Solaris および HPUX では SunX509、その他のプラットフォーム (AIX、z/OS、Linux、Windows) では IbmX509
- clientAuth
- 接続を受け入れる前に SSL スタックがクライアントからの有効な証明書チェーンを必要とする場合は、true に設定します。false 値 (デフォルト) の場合、証明書チェーンは必要ありません。ただし、クライアントが、CLIENT-CERT 認証を使用するセキュリティー制約で保護されているリソースを要求する場合は除きます。
- keystoreFile
- ロードされるサーバー証明書が保管されている鍵ストア・ファイルへのパス。デフォルトでは、HTTP リスナーは、ブローカーを開始したユーザーのホーム・ディレクトリーに .keystore というファイルがあるものと予期します。
- 値タイプ - ストリング
- 初期値 - デフォルト値 (上記参照)
- keystorePass
- 指定された鍵ストア・ファイルのサーバー証明書にアクセスするのに使用するパスワード。
- 値タイプ - ストリング
- 初期値 - changeit
- keystoreType
- サーバー証明書のために使用される鍵ストア・ファイルのタイプ。
- sslProtocol
- 使用する SSL プロトコルのバージョン。
- ciphers
- 暗号を解く鍵として使用可能なもののコンマ区切りのリスト。指定しない (デフォルト) と、使用可能などの暗号でも使用できます。
keystoreType、
sslProtocol、および
ciphers の有効な値は JSSE インプリメンテーションごとに固有なので、これらの値は JSSE プロバイダーの資料に記載されているはずです。
許可
Windows プラットフォームでは、このコマンドを呼び出すのに使用するユーザー ID には、ローカル・システムに対する Administrator 権限がなければなりません。
UNIX システムでは、このコマンドを呼び出すのに使用するユーザー ID は、root であるか、または mqsicreatebroker コマンドの -i パラメーターで指定したものと同じでなければなりません。また、mqbrkrs グループのメンバーでなければなりません。