サービス定義は、メッセージの送受信で使用するキューに関する各種情報とキュー間転送機能の基本情報を記述します。サービス定義は以下のセクションから構成されます。
1個のMNGRセクション
0個以上のSERVERセクション
0個以上のCHANNELセクション
0個以上のRCHANNELセクション
グローバルサーバ連携で必要なセクションの組み合わせを示します。以下に示す組み合わせ以外はサービス定義に記述しないでください。
セクション | 送信の場合 | 受信の場合 | |
---|---|---|---|
MNGR | sproc | ○ | ○ |
rproc | ○ | ○ | |
systemid | ○ | ○ | |
repository | - | ○ | |
errorretry | ○ | - | |
SERVER | name | ○ | - |
iorfile | ○ | - | |
CHANNEL | channelid | ○ | - |
sndname | ○ | - | |
rcvname | ○ | - | |
evttype | △ | - | |
server | ○ | - | |
packmsg_cnt | △ | - | |
packmsg_wtime | △ | - | |
RCHANNEL | rcvname | - | ○ |
recvnum | - | △ |
○:必要、△:選択、―:不要
サービス定義は以下の形式で記述します。
記述形式
[MNGR] sproc = メッセージ送信指定 rproc = メッセージ受信指定 systemid = MQDサーバ識別子 repository = インプリメンテーションリポジトリID errorretry = continue [SERVER] name = 送信先MQDサーバ識別子 iorfile = 送信先で作成したIORファイル名 [CHANNEL] channelid = 送信チャネル識別子 sndname = アウトバウンドキュー名 rcvname = 送信先グローバルサーバの受信キュー名 server = 送信先MQDサーバ識別子 packmsg_cnt = パッキング数またはユニット内メッセージ数 packmsg_wtime = 最大遅延時間 [RCHANNEL] rcvname = 自サーバのインバウンドキュー名
記述内容の説明
キュー間転送機能の動作する基本情報を記述します。記述内容を以下に示します。
キーワード | 省略 | データ型 | 記述方法 | 記述内容の説明 |
---|---|---|---|---|
sproc | 可 | 数値 | 0または1を指定します。 | メッセージを送信する場合1を指定します。 |
rproc | 可 | 数値 | 0または1を指定します。 | メッセージを受信する場合1を指定します。 |
systemid | 不可 | 文字列 | 先頭が英大文字で始まる8バイト以内の英大文字と数字で指定します。 | 本サービスが動作するMQDシステムに対応したMQDサーバ識別子を指定します。MQDサーバ識別子は、本サービスで接続するサーバ間で一意な識別子を指定してください。 |
repository | rprocが1の時不可 | 文字列 | systemidキーワードで指定したMQDサーバ識別子に固定文字列“NSGWSERVERREPID”を付加した文字列を指定します。 | キュー間転送機能のCORBAサービスへの登録で指定したインプリメンテーションリポジトリIDを指定します。 |
errorretry | 不可 | 文字列 | “continue”を指定します。 | 必ず“continue”を指定してください。 |
キュー間転送機能が他サーバにメッセージを送信する際に送信先のサーバを特定する相手サーバ情報を記述します。SERVERセクションは0~128個まで定義できます。
なお、SERVERセクションの内容を変更(nameキーワードとメッセージ送信先の関係を変更)する場合はサービス環境を再作成する必要があります。
この定義は、メッセージを送信するサーバにだけ必要です。記述内容については下表を参照してください。
キーワード | 省略 | データ型 | 記述方法 | 記述内容の説明 |
---|---|---|---|---|
name | 不可 | 文字列 | 先頭が英大文字で始まる8バイト以内の英大文字と数字で指定します。 | メッセージ送信先のMQDサーバ識別子を指定します。 |
iorfile | 不可 | 文字列 | 255バイト以内の文字列で指定します。 | 送信先グローバルサーバで作成したIORファイル名を絶対パスで指定します。 |
メッセージの送信で使用するキューについて、アウトバウンドキューと送信先グローバルサーバの受信キューとの対応関係などのアウトバウンドキュー情報を記述します。CHANNELセクションは0~128個まで定義でき、メッセージを送信するサーバ側に、送信先の受信キュー単位に必要です。記述内容については下表を参照してください。
キーワード | 省略 | データ型 | 記述方法 | 記述内容の説明 |
---|---|---|---|---|
channelid | 不可 | 文字列 | 先頭が英大文字で始まる8バイト以内の英大文字と数字で指定します。 | 送信チャネル識別子を指定します。 |
sndname | 不可 | 文字列 | 255バイト以内の英数字、“:”(コロン)および“_”(アンダースコア)で指定します。“グループ名::チャネル名”で指定します。 | アウトバウンドキュー名を指定します。 |
rcvname | 不可 | 文字列 | 255バイト以内の英数字、“:”(コロン)および“_”(アンダースコア)で指定します。“チャネル名”で指定します。 | 送信先グローバルサーバの受信キュー名を指定します。 |
evttype | 可 | 文字列 | anyを指定します。 | 必ずanyを指定してください。 |
server | 不可 | 文字列 | 先頭が英大文字で始まる8バイト以内の英大文字と数字で指定します。 | メッセージ送信先のMQDサーバ識別子を指定します。 |
packmsg_cnt | 可 | 数値 | 1~100の範囲で指定します。 | 複数のメッセージをパッキングして送信する場合に、パッキングするメッセージの最大数を指定します。 |
packmsg_wtime | 可 | 数値 | 0~300(秒)の範囲で指定します。 | メッセージがパッキング数に達しない場合に、待ち合わせをするための送信待ち時間(秒)を指定します。 |
メッセージの受信で使用するキューについて、インバウンドキュー情報を記述します。RCHANNELセクションは0~128個まで定義でき、メッセージを受信するサーバ側に、インバウンドキュー単位に必要です。記述内容については下表を参照してください。
キーワード | 省略 | データ型 | 記述方法 | 記述内容の説明 |
---|---|---|---|---|
rcvname | 不可 | 文字列 | 255バイト以内の英数字、“:”(コロン)および“_”(アンダースコア)で指定します。“グループ名::チャネル名”で指定します。 | インバウンドキュー名を指定します。 |
recvnum | 可 | 数値 | 1を指定します。 省略値は“1”です。 | 必ず1を指定してください。 |
キュー間転送機能の接続例を以下に示します。
接続例の送信サーバに対応するサービス定義の記述例を以下に示します。
[MNGR] # 基本情報 sproc = 1 # メッセージ送信指定 rproc = 1 # メッセージ受信指定 systemid = SERVER01 # MQDサーバ識別子 repository = SERVER01NSGWSERVERREPID # インプリメンテーションリポジトリID errorretry = continue # エラーリトライ回数 [SERVER] # 送信先MQDサーバ情報 name = SERVER02 # 送信先MQDサーバ識別子 iorfile = C:\MQDIORFILE2 # 送信先グローバルサーバで作成したIORファイル名 [CHANNEL] # アウトバウンドキュー情報 channelid = ID000001 # 送信チャネル識別子 sndname = SEND::CHANNEL001 # アウトバウンドキュー名 rcvname = CHANNEL002 # 送信先グローバルサーバの受信キュー名 server = SERVER02 # 送信先MQDサーバ識別子 [RCHANNEL] # インバウンドキュー情報 rcvname = RECV::CHANNEL004 # インバウンドキュー名