mqsicreatebroker コマンド

サポートされるプラットフォーム

  • Windows 2000、Windows XP
  • UNIX プラットフォーム
  • z/OS

目的

Windows プラットフォームおよび UNIX プラットフォームでは、mqsicreatebroker は以下を実行します。
  • WebSphere MQ キュー・マネージャーがまだ存在していなければ、作成します。
    注:
    1. mqsicreatebroker コマンドを使用した結果 WebSphere MQ キュー・マネージャーが作成された場合、WebSphere MQ に備えられている DLQ (SYSTEM.DEAD.LETTER.QUEUE) が自動的に使用可能になります。セキュリティー設定は、他のブローカー固有の WebSphere MQ キューと同じになります。

      キュー・マネージャーを別個に作成することにした場合、送達不能キュー (DLQ) をセットアップする必要があります。 DLQ は、メッセージ・フロー内のメッセージの処理でエラーが発生したときに、WebSphere Business Integration Event Broker から参照されます。

      ユーザー定義のメッセージ・フロー中かパブリッシュ / サブスクライブ・モデル中にあるメッセージが処理できないと、 そのメッセージは最後の手段としてこの DLQ にルーティングされます。 もし、そうではなく、メッセージを入力キューにバックアウトさせ、 問題が解決するまで事実上メッセージ・フローを停止させておきたい場合には、 DLQ を使用不可にしておいてください。

      このキューは mqsideletebroker コマンドによって削除されません (キュー・マネージャーを削除した場合を除く)。

    2. mqsicreatebroker コマンドとは無関係に作成された WebSphere MQ キュー・マネージャーを使用する場合、クラスターを定義することもできます。 これを使用すると、ほとんどの場合に構成が簡単になります。

  • WebSphere MQ キュー・マネージャーがまだ実行されていない場合は開始します。

    このコマンドを使用してキュー・マネージャーを作成した場合は、 キュー・マネージャーは Windows サービスとして開始されません。 したがって、ログオフすると停止します。これが起きないようにするには、ログオンの状態を維持するか、 またはキュー・マネージャー・サービスの開始状況を変更します。 (ワークステーションをロックしても、WebSphere MQ キュー・マネージャーは停止しません。)

  • ブローカー固有の WebSphere MQ キューが存在していない場合は作成します。
  • ブローカーのデータベース・テーブルが存在していない場合は作成します。 または、既存のテーブルにこのブローカーに固有の行を追加します。
  • Windows プラットフォームでは、ブローカーを実行するサービスをインストールします。
  • ブローカー・レジストリー中にコンポーネントのレコードを作成します。

z/OS では、DB2 または WebSphere MQ 関連の定義は作成されません。

z/OS では、このコマンドを C ロケールで実行する必要があります。 これは、ユーザーの現行ロケールに関係なく、 メッセージがすべて英語で生成されることを意味しています。

構文

Windows プラットフォームおよび UNIX プラットフォームの場合

z/OS

パラメーター

brokername
(必須) 作成するブローカーの名前。 これは最初のパラメーターで、UNIX プラットフォームでは大文字小文字を区別する必要があります。
z/OS の場合:
  • 大文字のブローカー名を作成した場合、ワークベンチのブローカーでもその名前を大文字で使用しなければなりません。
  • カスタマイズ入力ファイル・チェックリストのコピーにある brokername を使用します。
使用できる文字セットに関する制約事項については、コマンドで使用できる文字を参照してください。
-i ServiceUserID
(必須 - Windows プラットフォームおよび UNIX プラットフォーム) ブローカーの実行に使用するユーザー ID。

これは、任意の有効なユーザー名構文の形式で指定できます。 Windows プラットフォームでは、それは次のとおりです。

  • domain¥username
  • ¥¥server¥username
  • .¥username
  • username

UNIX システムでは、最後の形式の username だけが有効です。

このユーザー ID の非修飾形式 (username) を Windows プラットフォームで使用すると、オペレーティング・システムによって、ローカル・システムから始めてドメイン全体でこのユーザー ID が検索されます。この検索が完了するまでに多少の時間がかかることがあります。

指定する ServiceUserID は、 ローカル・グループ mqbrkrs のメンバーでなければなりません。Windows プラットフォームでは、このグループの直接または間接のメンバーとして指定することができます。 また ServiceUserID は、 ホーム・ディレクトリー (WebSphere Business Integration Event Broker のインストール先) と作業ディレクトリー (-w フラグで指定した場合) へのアクセスも許可されていなければなりません。

Windows プラットフォームでは、WebSphere MQ トラステッド・アプリケーション (フラグ -t) としてのブローカーの実行を指定する場合は、このユーザー ID をグループ mqm に追加する必要もあります。UNIX プラットフォームで、-t フラグを設定した場合、mqm として ServiceUserID を指定します。

ServiceUserID のセキュリティー要件は、Windows プラットフォームでのセキュリティー要件 に詳述されています。

このユーザー ID をデータベース・アクセスに使用する場合 (つまり、-u フラグを使用して別のユーザー ID を指定しない場合)、 SQL Server をデータベースとして使用するのであれば、ブローカーを作成する前に、 このユーザー ID を SQL Server ログイン ID として作成し、 正しいアクセス権を付与しなければなりません (詳細については、ブローカーのセキュリティーの考慮 を参照)。DB2 中にブローカー・データベースがあり、このユーザー ID が DB2 に認識されていない場合、 DB2 によって自動的にユーザー ID が作成されます。

-a ServicePassword
(必須 - Windows プラットフォームおよび UNIX プラットフォーム) ServiceUserID のパスワード。 UNIX プラットフォームの場合、-a は Windows プラットフォームとの互換性を保つのに必須ですが、 ServiceUserID に関連して使用されるわけではなく、-p を指定しない場合のデフォルトとして使用されるだけです。(詳細については、-p パラメーターの注意事項を参照してください。)
-q QueueManagerName
(必須) このブローカーに関連したキュー・マネージャーの名前。 ネットワークの編成や管理を単純化するため、 ブローカーとキュー・マネージャーの名前を同じにします。 キュー・マネージャー名の長さは 48 文字に限定されており、 大文字と小文字の区別があります。

キュー・マネージャーがまだ存在していない場合は、このコマンドによって作成されます。 ただし、デフォルトのキュー・マネージャーとして作成されるわけではありません。 このキュー・マネージャーをこのシステム上のデフォルト・キュー・マネージャーにするには、 このコマンドを発行する前にキュー・マネージャーを作成するか、 または WebSphere MQ Service でこのキュー・マネージャーの設定を変更してデフォルトにしなければなりません。

キュー・マネージャー属性 MAXMSGL (キューに挿入できるメッセージの最大長) は、100 MB に更新されています。この更新は、このコマンドによってキュー・マネージャーが作成されたかどうかに関係なく行われます。

変更の始まり使用できる文字セットに関する制約事項については、コマンドで使用できる文字を参照してください。変更の終わり

-c <ComponentDirectory>
(必須 - z/OS) 作成したブローカーのルート・ディレクトリー。 たとえば、/var/wmqi/MQP1BRK
-n DataSourceName
(必須 - Windows プラットフォームおよび UNIX プラットフォーム) ブローカー・テーブルが作成されるデータベースの ODBC データ・ソース名 (DSN)。 DSN とデータベースの名前が同じでない場合、 この値はデータベースの名前ではなく DSN 名にしなければなりません。

このデータベースはすでに存在していなければなりません。 この DSN に対する System DSN ODBC 接続をまだ作成していない場合は、これを作成する必要があります。

-u DataSourceUserID
(オプション - Windows プラットフォームおよび UNIX プラットフォーム) ブローカー・テーブルおよびユーザー・データの入ったデータベースへのアクセスに使用するユーザー ID。これが指定されない場合、-i で指定した値がデフォルトとして使用されます。

このユーザー ID には、このデータベース中にテーブルを作成し、 それらのテーブルを読み書きする権限がなければなりません。

Windows プラットフォームでは、 DB2 中にブローカー・データベースがある場合に、このユーザー ID が DB2 に認識されていないと、DB2 中にユーザー ID が作成されます。UNIX プラットフォームでは、サービス利用者に正しい特権が事前に付与されていなければなりません。データベースが SQL Server である場合は、ブローカーを作成する前に、 このユーザー ID を SQL Server ログイン ID として作成し、 正しいアクセス権を付与しなければなりません (詳細については、Windows プラットフォームでのセキュリティー要件 を参照)。

このユーザー ID が作成したアプリケーション・データベースや、 このユーザー ID が該当する読み取り、書き込み、 または作成権限を持つアプリケーション・データベースが DB2 中にある場合、 このブローカーで実行されるメッセージ・フローは、 スキーマ名を明示的に指定しなくても、 このデータベース中のアプリケーション・データにアクセスして操作できます。

-p DataSourcePassword
(オプション - Windows プラットフォームおよび UNIX プラットフォーム) ブローカー・テーブルおよびユーザー・データの入ったデータベースへのアクセスに使用するユーザー ID のパスワード。これを指定しない場合、 -a で指定した ServicePassword がデフォルトとして使用されます。 UNIX プラットフォームで DB2 を使用している場合、 -u-p を空ストリング (二重引用符の "") で指定することもできます。 この場合、DB2 から WebSphere Business Integration Event BrokerServiceUserID の特権が付与され、データベース接続が「検査済み」の状態になります。-u-p だけでなく -a も空ストリングとして指定すると、 WebSphere Business Integration Event Broker でパスワードが保管されないので、最も安全な構成が作成されます。
-s UserNameServerQueueManagerName
(オプション) ユーザー・ネーム・サーバーと関連した WebSphere MQ キュー・マネージャーの名前。 認証サービスかパブリッシュ/サブスクライブ・アクセス制御のいずれかが必要な場合は、 このパラメーターを必ず指定しなければなりません。これが指定されない場合、ブローカーはユーザー・ネーム・サーバーが定義されていないと見なします。
-j
(オプション) パブリッシュ/サブスクライブ・アクセス制御を使用可能にするには必ず、 このフラグと -s UserNameServerQueueManagerName パラメーターを一緒に指定しなければなりません。
-w Workpath
(オプション - Windows プラットフォームおよび UNIX プラットフォーム) このブローカーの作業ファイルが保管されるディレクトリー。これを指定しない場合、製品のインストール時に指定したデフォルトの作業パスにファイルが保管されます。 これを指定する場合、このディレクトリーを、ブローカーを開始する前に作成しなければなりません。 Windows プラットフォームでは、これをネットワーク・ドライブに置くことはできません。

また、このディレクトリーはトレースがアクティブの際に作成されるトレース・レコード用にも使用されます。 これらはサブディレクトリー log に作成されます。 このサブディレクトリーは、ブローカーを開始する前に作成しなければなりません。

プロセスが異常終了した際にブローカーによって作成されるエラー・ログは、 このディレクトリーに保管されます。 Windows プラットフォームでは、このオプションを使用し、 製品がインストールされているドライブ以外のドライブ上のディレクトリーを指定します。

エラー・ログに制限はなく、そのサイズは大きくなり続けます。 定期的にこのディレクトリーを調べ、古くなったエラー情報は消去してください。

このオプションの変更は、mqsichangebroker コマンドでは行えません。作業パスの指定または変更を行いたい場合は、ブローカーを削除してから再作成します。

-t
(オプション - Windows プラットフォームおよび UNIX プラットフォーム) ブローカーが、 WebSphere MQ トラステッド・アプリケーションとして稼働するように構成されます。

このオプションは、AIX では使えません。 これが指定される場合には、フラグは無視されます。

Windows プラットフォームでこのオプションを指定する場合は、ServiceUserID (フラグ -i で指定) をグループ mqm に追加します。HP-UX および Solaris でこのオプションを指定する場合、mqm として ServiceUserID を指定します。 WebSphere MQ トラステッド・アプリケーションの使用に関する詳細は、「WebSphere MQ相互通信」を参照してください。

-m
(オプション -Windows プラットフォームおよび UNIX プラットフォーム) 既存の MQSeries パブリッシュ/サブスクライブ ブローカーをマイグレーションします。このオプションを指定する場合は、 -q で識別されているキュー・マネージャーが MQSeries パブリッシュ/サブスクライブ・ブローカーで使用されていなければなりません。
-l UserLilPath
(オプション - Windows プラットフォームおよび UNIX プラットフォーム) ブローカーが、ユーザー作成のプラグイン・メッセージ処理ノード用の LIL (ロード可能インプリメンテーション・ライブラリー) をロードするのに使うパス (ディレクトリー) のリスト。

デフォルト・ディレクトリーは、<install_dir>\bin サブディレクトリーです。 このディレクトリーは常に最初に検索されます。LIL を他のディレクトリーからロードしたい場合、 このフラグを使ってさらに別のディレクトリーを指定しても構いません。

複数のディレクトリーをさらに別に指定する場合、 プラットフォーム固有のデフォルトのパス区切り文字 (Windows プラットフォームではセミコロン (;)、UNIX ではコロン (:)) でそれぞれを区切る必要があります。

このパス内で環境変数を使用することはできません。使用しても、無視されます。

-g ConfigurationTimeout
(オプション) ブローカー内の実行グループが、構成内の変更 (たとえば、ワークベンチからデプロイされた更新など) を適用するのに用いることのできる時間 (秒単位) 。

メッセージ・フローがアプリケーション・メッセージを処理している場合、 構成変更には対応できません。 構成を変更するように要求された実行グループ内のメッセージ・フローのいずれかが、 アプリケーション・メッセージの処理を完了しておらず、 そのタイムアウト内で構成変更を適用していない場合、 実行グループは否定応答を戻して、構成メッセージをデプロイします。

このタイムアウトに関して設定する値は、 システム負荷 (CPU の使用効率など) およびそれぞれの実行グループの負荷によって異なります。 最初の見積もりは、ブローカーの構成全体をデプロイすることによって行うことができます。 これを正常に完了するのにかかる時間によって、設定すべき最小値を知ることができます。

値は、10~3600 の範囲の秒数で指定することができます。 デフォルトの値は 300 です。

ConfigurationTimeoutConfigurationDelayTimeout (以下で説明される) の合計は、 デプロイ済み構成メッセージをブローカーが処理するために許可されている時間 (これを超えると、 否定応答が生成される) を表しています。

-k ConfigurationDelayTimeout
(オプション) ブローカーが、最小限の変更 (たとえば、ワークベンチからデプロイされた更新など) を処理するのに用いることのできる時間 (秒単位) 。

これは、最も小さいデプロイ済み構成メッセージをブローカーおよびその実行グループが処理するためにかかる時間を表しており、 キュー・マネージャー・ネットワーク遅延、ブローカーのキュー・マネージャーの負荷、 およびシステム負荷によって異なります。

この値の計算は、単純な構成変更を要求するコマンドを発行することにより行うことができます。 以下に、例を示します。
  • Windows プラットフォームおよび UNIX プラットフォームの場合
    
    mqsireporttrace brokerName -e "Execution Group Name" -u
  • z/OS の場合
    F MQP1BRK,reporttrace u=yes,e='exgrp1'

各実行グループの応答時間は、システム負荷およびそれ自体のプロセスの負荷に応じて異なります。 設定する値は、実行グループが応答にかかる最も長い応答時間を反映していなければなりません。 定した値が短すぎると、ブローカーは否定応答を戻し、 場合によっては、エラー・メッセージをローカル・エラー・ログに出すこともあります。

値は、10~3600 の範囲の秒数で指定することができます。 デフォルトの値は 60 です。

ブローカーが実動システムに置かれている場合、構成変更が適用される前に、 メッセージ・フローによって現在処理されているアプリケーション・メッセージを完了できるようにするため、ConfigurationTimeoutConfigurationDelayTimeout の両方の値を増やすようにお勧めします。

ブローカーが開発システムまたはテスト・システム上にある場合、知覚できる応答時間を向上させるためと、期待どおりの振る舞いを示さないブローカーに強制的に応答させるために、タイムアウト (特に ConfigurationTimeout) を減らすこともできます。ただし、 タイムアウト値を減らすと、 構成変更が正常にデプロイされる見込みが低下します。

-P HTTPPort
(オプション - Windows プラットフォームと UNIX プラットフォーム) Web サービス・サポートが listen するポートの番号を入力します。

Web サービス・サポートが組み込まれたメッセージの開始時にブローカーによってこのリスナーが始動され、そのデフォルト値は 7080 です。

指定するポートが、他の目的で指定されていないことを確認してください。

-vstatisticsarchiveinterval
(オプション) WebSphere Business Integration Event Broker 統計およびアカウンティングが出力アーカイブ・レコードに送られるタイマー・インターバル (分) です。インターバル・アカウンティングの有効範囲は、10 分から 14400 分です。

ゼロ分のインターバルは、 外部通知手段がプラットフォームに装備されているので、 WebSphere Business Integration Event Broker の内部タイマーは使用しないことを示します。

許可

Windows プラットフォームでは、このコマンドを呼び出すのに使用するユーザー ID には、 ローカル・システムに対する Administrator 権限がなければなりません。

UNIX プラットフォームでは、このコマンドを呼び出すのに使用するユーザー ID は、 root であるか、 または -i パラメーターで指定したものと同じでなければなりません。 また、mqbrkrs グループのメンバーでなければなりません。

作成される Websphere MQ キュー

  • SYSTEM.BROKER.ADMIN.QUEUE
  • SYSTEM.BROKER.CONTROL.QUEUE
  • SYSTEM.BROKER.EXECUTIONGROUP.QUEUE
  • SYSTEM.BROKER.EXECUTIONGROUP.REPLY
  • SYSTEM.BROKER.INTERBROKER.QUEUE
  • SYSTEM.BROKER.INTERBROKER.MODEL.QUEUE
  • SYSTEM.BROKER.MODEL.QUEUE
  • SYSTEM.BROKER.WS.INPUT
  • SYSTEM.BROKER.WS.REPLY
  • SYSTEM.BROKER.WS.ACK

上記のすべてのキューには、WebSphere Business Integration Event Broker グループ mqbrkrs へのアクセス権限が付与されます。DLQ が使用可能になっている場合は、DLQ にも同じ権限が付与されます。

作成されるデータベース・テーブル

このコマンドで作成または追加されるデータベース・テーブルについては、データベースの内容 に説明があります。

応答

このコマンドは、以下の応答を戻します。

  • BIP8011 構成データを作成できません
  • BIP8012 システム・コンポーネントに接続できません
  • BIP8014 コンポーネントを作成できません
  • BIP8022 ユーザー ID/パスワードが無効です
  • BIP8030 ユーザー ID 特権を変更できません
  • BIP8040 データベースに接続できません
  • BIP8048 キュー・マネージャーを始動できません
  • BIP8050 キュー・マネージャーを作成できません
  • BIP8051 キューを作成できません
  • BIP8053 キュー・マネージャーのセキュリティーを設定できません
  • BIP8054 キューのセキュリティーを設定できません
  • BIP8056 キュー・マネージャーが不明です
  • BIP8070 データベース例外
  • BIP8072 データベース例外
  • BIP8073 無効なブローカー名が指定されました
  • BIP8084 ディレクトリーを作成できません
  • BIP8086 キュー・マネージャーが使用中です
  • BIP8087 コンポーネントはすでに存在しています
  • BIP8093 キュー・マネージャーは現在作成されています
  • BIP8094 キュー・マネージャーは現在停止されています
特定の状況下では、以下のエラー・メッセージが DB2 によって発行されることがあります。
    (51002)[IBM][CLI Driver][DB2/NT]SQL0805N
    Package "NULLID.SQLLF000" was not found.  SQLSTATE=51002.

このエラーは、データベースへのバインドが正常に行われなかった場合に起きます。

Windows プラットフォームでは、ブローカー・データベースにバインディングは必要ありませんが、 ユーザー・データベースにはバインディングが必要です。DB2 コントロール・センターを使ってデータベースを作成した場合、バインドは自動的に完了します。 コマンド・インターフェースを使用した場合は、そうではありません。 たとえば、データベース MYDB の場合、 コマンド・プロンプトで以下のコマンドを入力すれば、バインドを作成したり再作成したりすることができます。

db2 connect to MYDB user db2admin using db2admin
db2 bind X:¥sqllib¥bnd¥@db2cli.lst grant public
db2 connect reset

X: は DB2 のインストール先のドライブです。

UNIX プラットフォームでは、すべてのデータベースでバインディングが必要です。たとえば、データベース WBRKBKDB の場合は、 コマンド・プロンプトで以下のコマンドを実行するとこの処理を行えます (ここで、 <user_name> は、データベース・インスタンスの作成に使用されたユーザー ID です)。

db2 connect to WBRKBKDB user db2admin using db2admindb2 bind ~<user_name>/sqllib/bnd/@db2cli.lst grant public CLIPKG 5
db2 connect reset

デフォルトの DB2 ユーザー ID とパスワード (db2admin) を使用していない場合は、db2 connect コマンド中のこれらの値を正しい値に置き換えなければなりません。

最初に mqsicreatebroker コマンドを実行したときに失敗した場合、 2 度目にこのコマンドを実行すると、一連のメッセージが戻されます。これらのメッセージは、作成できない項目を示します。 この結果として有害な影響が生じることはありません。 たとえば、最初に失敗した理由が解決されている場合、 最初に失敗したブローカーの作成を試行したときに、ブローカーは適切に作成されます。


mqsicreatebroker WBRK_BROKER -i wbrkuid -a wbrkpw
-q WBRK_QM -s WBRK_UNS_QM -n WBRKBKDB

mqsicreatebroker BROKERA -i wbrkuid -a wbrkpw -q BROKERA -n BRKA_DB -t

関連概念
ブローカー・ドメイン

関連タスク
ブローカーの作成

関連資料
構文の設定
データベースの内容
mqsichangebroker コマンド
mqsideletebroker コマンド