ページの先頭行へ戻る
Interstage Application Server V12.0.0 MessageQueueDirector説明書
FUJITSU Software

5.3.3 環境定義の記述

ここでは、イベントチャネル連携サービスの環境定義について以下を説明します。

記述規約については、“付録A 定義記述規約”を参照してください。

5.3.3.1 サービス定義の記述

サービス定義は、メッセージの送受信で使用するイベントチャネルに関する各種情報とイベントチャネル連携サービスの基本情報を記述します。サービス定義は以下のセクションから構成されます。

表5.13 メッセージの送受信で必要なセクションの組み合わせにメッセージの送受信で必要なセクションの組み合わせを示します。

表5.13 メッセージの送受信で必要なセクションの組み合わせ

セクション

送信の場合

受信の場合

ノーティフィケーションサービス / JMS

ノーティフィケーションサービス / JMS

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    = エラーリトライ回数

[SERVER]
name          = 送信先MQDサーバ識別子
iorfile       = 送信先イベントチャネル連携サービスのIORファイル名

[CHANNEL]
channelid     = 送信チャネル識別子
sndname       = 送信キュー名
rcvname       = 相手サーバの受信キュー名
evttype       = イベントデータの形式
server        = 送信先MQDサーバ識別子
packmsg_cnt   = パッキング数またはユニット内メッセージ数
packmsg_wtime = 最大遅延時間

[RCHANNEL]
rcvname       = 自サーバの受信キュー名
recvnum       = 集信数

次に通信モデルに応じたサービス定義の記述方法を以下に示します。なお、以下に示す各通信モデルの定義イメージは、通信モデルの特定に関連する部分だけを抜き出して説明しているため、その他の必要な定義については、表5.13 メッセージの送受信で必要なセクションの組み合わせで確認してください。

また、グローバルサーバへメッセージを送信する場合以外の定義イメージでは、ノーティフィケーションサービス、JMSまたはMQDにメッセージを送信することが前提としています。

送信側の定義

evttypeキーワードに“structured”を指定します。アプリケーションの都合により“any”を指定することも可能です。その他のキーワードは利用する機能に応じて指定します。

[MNGR]
systemid     = MQDサーバ識別子 NSGWS001

[SERVER]
name         = 送信先MQDサーバ識別子 NSGW1
iorfile      = 送信先イベントチャネル連携サービスのIORファイル名またはURLリストファイル名

[CHANNEL]
channelid    = 送信チャネル識別子 ID1
sndname      = 送信用のイベントチャネル名 または JMSキュー名 S1
rcvname      = 相手サーバの受信キュー名 R1
server       = 送信先MQDサーバ識別子 SV1 
evttype      = structured / any

受信側の定義

その他のキーワードは利用する機能に応じて指定します。

[MNGR]
systemid     = MQDサーバ識別子 NSGWR00
repository   = インプリメンテーションリポジトリID

[RCHANNEL]
rcvname       = 受信用のイベントチャネル名 または JMSキュー名 R1

ネーミングサービスを使用する相手サーバの指定

送信側サーバで、SERVERセクションのiorfileキーワードにURLリストファイルを指定します。URLリストファイルには、受信側のサーバを登録したネーミングサービスのURLを記述します。

送信側サーバ

[SERVER]
name           = 送信先MQDサーバ識別子 SV1
iorfile        = URLリストファイルの絶対パス名

URLリストファイルの記述

iiop://255.255.255.1:8002    #ネーミングサービスのURL1
iiop://255.255.255.2:8002    #ネーミングサービスのURL2
iiop://255.255.255.255       #ネーミングサービスのURL3

URLリストファイルの詳細については、“5.3.3.3 URLリストファイルの記述”を参照してください。

IORファイルを使用する相手サーバの指定

送信側のサーバで、SERVERセクションのiorfileキーワードに受信側のサーバで作成したIORファイルを指定します。

送信側のサーバ

[SERVER]
name          = 送信先MQDサーバ識別子 SV1
iorfile       = 送信先サーバから配布されたIORファイルの絶対パス名

グローバルサーバにメッセージを送信する場合

送信側のサーバで、CHANNELセクションのevttypeキーワードに“any”を指定します。また、msghinfキーワードは指定しません。

送信側のサーバ
[CHANNEL]
  channelid     = 送信チャネル識別子 ID1
  sndname       = 送信キュー名 S1
  rcvname       = グローバルサーバの受信イベントチャネル名 R1
  server        = グローバルサーバのMQDサーバ識別子 SV1
  evttype       = any
  packmsg_cnt   = パッキング数
  packmsg_wtime = 最大遅延時間

記述内容の説明

a) MNGRセクション

イベントチャネル連携サービスの動作する基本情報を記述します。記述内容を表5.14 MNGRセクションの記述内容に示します。

表5.14 MNGRセクションの記述内容

キーワード

省略

データ型

記述方法

記述内容の説明

sproc

数値

0または1を指定します。
省略値は1です。 (注1)

メッセージを送信する場合1を指定します。
メッセージの受信だけを行う場合は0を指定してください。

rproc

数値

0または1を指定します。
省略値は1です。 (注1)

メッセージを受信する場合1を指定します。
メッセージの送信だけを行う場合は0を指定します。

systemid

不可

文字列

8バイト以内の英数字で指定します。(注2)

本サービスが動作するMQDシステムに対応したMQDサーバ識別子を指定します。MQDサーバ識別子は、本サービスで接続するサーバ間で一意な識別子を指定してください。

repository

rprocが1の時不可

文字列

systemidキーワードで指定したMQDサーバ識別子に固定文字列“NSGWSERVERREPID”を付加した文字列を指定します。

イベントチャネル連携サービスのCORBAサービスへの登録で指定したインプリメンテーションリポジトリIDを指定します。

errorretry

数値または文字列

0~2147483647の数値、またはendlessを指定します。
省略値は12です。

エラー発生時のリトライ回数を指定します。endlessの場合無限リトライとなります。リトライ可能なエラー事象については表5.15 エラー事象ごとのリトライ可否を参照してください。

“continue”を指定します。

無限リトライを意味します。endlessを指定した場合よりより広いエラー事象でもリトライを継続します。リトライ可能なエラー事象については表5.15 エラー事象ごとのリトライ可否を参照してください。

注意

注1:

sprocまたはrprocのどちらか一方に必ず1を設定してください。

注2:

グローバルサーバと通信を行う場合、先頭が英大文字で始まる8バイト以内の英大文字と数字で指定します。

表5.15 エラー事象ごとのリトライ可否

エラー事象

数値またはendless

continue

イベントチャネル連携サービスの送信先MQDサーバが未起動

イベントチャネル連携サービスの送信先MQDサーバの受信キューの蓄積イベントデータ数が最大蓄積数を超えた

イベントチャネル連携サービスの非同期メッセージ基盤がMQDの場合に、一時的な異常が発生した

メッセージ送信先のメッセージキューまたはイベントチャネルが閉塞していた

メッセージ送信先のイベントチャネル連携サービスの非同期メッセージ基盤がMQDの場合に、メッセージキューが閉塞していた

×

通信異常

×

メモリ不足

×

イベントチャネルへの接続異常

×

イベントチャネル連携サービスの環境に異常がある

×

×

イベントチャネル連携サービスのサービス起動時に、送信キューが停止していた

×

×

何らかの異常により、相手サーバの検索に失敗した

×

×

サービスの継続に困難な異常が発生した

×

×

b) SERVERセクション

イベントチャネル連携サービスが他サーバにメッセージを送信する際に送信先のサーバを特定する相手サーバ情報を記述します。SERVERセクションは0~128個まで定義できます。

なお、SERVERセクションの内容を変更(nameキーワードとメッセージ送信先の関係を変更)する場合はサービス環境を再作成する必要があります。

この定義は、メッセージを送信するサーバにだけ必要です。記述内容については表5.16 SERVERセクションの記述内容を参照してください。

表5.16 SERVERセクションの記述内容

キーワード

省略

データ型

記述方法

記述内容の説明

name

不可

文字列

8バイト以内の英数字で指定します。(注1)

メッセージ送信先のMQDサーバ識別子を指定します。

iorfile

不可

文字列

255バイト以内の文字列で指定します。

メッセージ送信先のイベントチャネル連携サービスのIORファイル名、またはネーミングサービスのURLリストファイル名を絶対パスで指定します。(注2) (注3)

注意

1

グローバルサーバと通信を行う場合、先頭が英大文字で始まる8バイト以内の英大文字と数字で指定します。

2

IORファイル、URLリストファイルはメッセージを送信するサーバのローカルディスク上に格納してください。

3

グローバルサーバと通信を行う場合、必ずIORファイルを指定してください。

URLリストファイルの詳細については、“5.3.3.3 URLリストファイルの記述”を参照してください。

c) CHANNELセクション

メッセージの送信で使用するキューについて、送信キューと受信キューとの対応関係などの送信キュー情報を記述します。CHANNELセクションは0~128個まで定義でき、メッセージを送信するサーバ側に、送信先の受信キュー単位に必要です。記述内容については表5.17 CHANNELセクションの記述内容を参照してください。

表5.17 CHANNELセクションの記述内容

キーワード

省略

データ型

記述方法

記述内容の説明

channelid

不可

文字列

8バイト以内の英数字で指定します。(注1)

送信チャネル識別子を指定します。
送信チャネル識別子は、MQDシステム内で一意な識別子を指定してください。

sndname

不可

文字列

255バイト以内の英数字、“: ”(コロン)および“_”(アンダースコア)で指定します。“グループ名::チャネル名”で指定します。

送信キュー名を指定します。

rcvname

不可

文字列

255バイト以内の英数字、“: ”(コロン)および“_”(アンダースコア)で指定します。“グループ名::チャネル名”で指定します。(注2)

メッセージ送信先の受信キュー名を指定します。

evttype

文字列

structuredまたはanyを指定します。
省略値は“any”です。

メッセージの形式を指定します。ノーティフィケーションサービスを使用するアプリケーションがany型のイベントデータを使用する場合は、anyを指定します。その他の場合は、structuredを指定します。

server

不可

文字列

8バイト以内の英数字で指定します。(注1)

メッセージ送信先のMQDサーバ識別子を指定します。
本値は、SERVERセクションのnameキーワードで指定した値と対応させてください。

packmsg_cnt

数値

1~100の範囲で指定します。
省略値は“1”(本機能を使用しない)です。

複数のメッセージをパッキングして送信する場合に、パッキングするメッセージの最大数を指定します。
packmsg_wtimeキーワード値に指定した時間(秒)が経過しても、本キーワード値に指定した数にメッセージ数が満たない場合、その時点でメッセージを相手システムに送信します。

packmsg_wtime

数値

0~300(秒)の範囲で指定します。
省略値は“0”です。

メッセージがパッキング数に達しない場合に、待ち合わせをするための送信待ち時間(秒)を指定します。
パッキング転送機能を使用する場合にだけ有効です。

注意

注1:

グローバルサーバと通信を行う場合、先頭が英大文字で始まる8バイト以内の英大文字と数字で指定します。

注2:

グローバルサーバと通信を行う場合、チャネル名だけを指定します。

d) RCHANNELセクション

メッセージの受信で使用するキューについて、受信キューの属性(集信数)などの受信キュー情報を記述します。RCHANNELセクションは0~128個まで定義でき、メッセージを受信するサーバ側に、受信キュー単位に必要です。記述内容については表5.18 RCHANNELセクションの記述内容を参照してください。

表5.18 RCHANNELセクションの記述内容

キーワード

省略

データ型

記述方法

記述内容の説明

rcvname

不可

文字列

255バイト以内の英数字、“: ”(コロン)および“_”(アンダースコア)で指定します。“グループ名::チャネル名”で指定します。

受信キュー名を指定します。

recvnum

数値

1~128の範囲で指定します。
省略値は“1”です。

受信キューに送信する送信キュー数を指定します。
集信数はMQDシステム内で最大128まです。

5.3.3.2 サービス定義の記述例

1:1型の通信モデル

送信側サーバのCHANNELセクションに対して、受信側サーバのRCHANNELセクションが1:1に対応するようにサービス定義を指定します。RCHANNELセクションのrecvnumキーワードは指定しません。

図5.24 1:1型の通信モデルに1:1型の通信モデルの定義イメージを示します。

図5.24 1:1型の通信モデル

送信側サーバの定義

[CHANNEL]
sndname       = 送信キュー名 S1
rcvname       = 相手サーバの受信キュー名 R1

[CHANNEL]
sndname       = 送信キュー名 S2
rcvname       = 相手サーバの受信キュー名 R2

受信側サーバの定義

[RCHANNEL]
rcvname       = 自サーバの受信キュー名 R1

[RCHANNEL]
rcvname       = 自サーバの受信キュー名 R2

配信型の通信モデル

送信側サーバでは、sndnameキーワードが同じ値の複数のCHANNELセクションを作成します。受信側サーバでは、CHANNELセクションのrcvnameキーワードに対応する複数のRCHANNELセクションを作成します。RCHANNELセクションのrecvnumキーワードは指定しません。

図5.25 配信型の通信モデルに配信型の通信モデルの定義イメージを示します。

図5.25 配信型の通信モデル

送信側サーバの定義

[CHANNEL]
sndname       = 送信キュー名 S1
rcvname       = 相手サーバの受信キュー名 R1

[CHANNEL]
sndname       = 送信キュー名 S1
rcvname       = 相手サーバの受信キュー名 R2

受信側サーバの定義

[RCHANNEL]
rcvname       = 自サーバの受信キュー名 R1

[RCHANNEL]
rcvname       = 自サーバの受信キュー名 R2

集信型の通信モデル

送信側サーバではrcvnameキーワードとserverキーワードの値の組み合わせが同じ複数のCHANNELセクションを作成します。受信側サーバでは、CHANNELセクションのrcvnameキーワードに対応する一つのRCHANNELセクションを作成します。RCHANNELセクションのrecvnumキーワードには、対応するCHANNELセクションの数を指定します。

図5.26 集信型の通信モデルに集信型の通信モデルの定義イメージを示します。

図5.26 集信型の通信モデル

送信側サーバの定義

[CHANNEL]
sndname       = 送信キュー名 S1
rcvname       = 相手サーバの受信キュー名 R1
server        = 送信先MQDサーバ識別子 SV1

[CHANNEL]
sndname       = 送信キュー名 S2
rcvname       = 相手サーバの受信キュー名 R1
server        = 送信先MQDサーバ識別子 SV1

受信側サーバの定義

[MNGR]
systemid      = MQDサーバ識別子 SV1

[RCHANNEL]
rcvname       = 自サーバの受信キュー名 R1
recvnum       = 2  (この受信定義に送信してくるCHNNELセクション数)

中継型の通信モデル

メッセージを中継するサーバで、RCHANNELセクションのrcvnameキーワードと同じ値のsndnameキーワードを指定したCHANNELセクションを作成します。

図5.27 中継型の通信モデルに中継型の通信モデルの定義イメージを示します。

図5.27 中継型の通信モデル

中継サーバ

[CHANNEL]
sndname       = 送信キュー名 R1
rcvname       = 相手サーバの受信キュー名 R2

[RCHANNEL]
rcvname       = 自サーバの受信キュー名 R1

記述例

イベントチャネル連携サービスの接続例を図5.28 イベントチャネル連携サービスの接続例に示します。また、接続例の送信サーバに対応するサービス定義の記述例を図5.29 サービス定義の記述例に示します。

図5.28 イベントチャネル連携サービスの接続例

図5.29 サービス定義の記述例

[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    = RECV::CHANNEL002        # 受信キュー名
evttype    = structured              # イベント形式
server     = SERVER02                # 送信先MQDサーバ識別子
packmsg_cnt   = 10                   # パッキング数
packmsg_wtime = 1                    # 最大遅延時間

[RCHANNEL]                           # 受信キュー
rcvname    = RECV::CHANNEL001        # 受信キュー名
recvnum    = 1                       # 集信数

[MNGR]                               # 基本情報
sproc      = 1                       # メッセージ送信指定
rproc      = 1                       # メッセージ受信指定
systemid   = SERVER01                # MQDサーバ識別子
repository = SERVER01NSGWSERVERREPID # インプリメンテーションリポジトリID
errorretry = continue                # エラーリトライ回数

[SERVER]                             # 送信先MQDサーバ情報
name       = SERVER02                # 送信先MQDサーバ識別子
iorfile    = /mqd/MQDIORFILE2        # 送信先イベントチャネル連携サービスのIORファイル名

[CHANNEL]                            # 送信キュー
channelid  = ID000001                # 送信チャネル識別子
sndname    = SEND::CHANNEL001        # 送信キュー名
rcvname    = RECV::CHANNEL002        # 受信キュー名
evttype    = structured              # イベント形式
server     = SERVER02                # 送信先MQDサーバ識別子
packmsg_cnt   = 10                   # パッキング数
packmsg_wtime = 1                    # 最大遅延時間

[RCHANNEL]                           # 受信キュー
rcvname    = RECV::CHANNEL001        # 受信キュー名
recvnum    = 1                       # 集信数

5.3.3.3 URLリストファイルの記述

URLリストファイルとは、ネーミングサービス方式で通信する場合に、相手サーバのオブジェクトリファレンスを登録しているネーミングサービスのURLを格納するファイルです。ネーミングサービスのURLは複数格納することができます。

イベントチャネル連携サービスでは、通信先のオブジェクトリファレンスを獲得するために、URLリストファイルに格納されているネーミングサービスのURLへ順次問い合わせを行います。

ネーミングサービスのURLの指定方式を以下に示します。

iiop://<address>[:<port>]
表5.19 URLリストファイルの記述内容

キーワード

記述内容の説明

<address>

ホスト名、FQDN、IPアドレスを指定することが可能です。省略はできません。63文字以下で記述してください。

<port>

接続先ORBのポート番号を指定します。

以下にURLリストファイルの設定例を示します。

iiop://255.255.255.1:8002    #ネーミングサービスのURL1
iiop://255.255.255.2:8002    #ネーミングサービスのURL2
iiop://255.255.255.255       #ネーミングサービスのURL3

URLリストファイルには、1023個までのURLが指定可能です。

あらかじめ、システムで使用しているネーミングサービスをURLリストファイルに記述しておくことにより、システム内でサーバを移動する時などに環境変更の操作が軽減され、サーバの移動が簡単に行えるようになります。

ネーミングサービスからのオブジェクトリファレンス取得処理は、URLリストファイルの先頭のURLから処理します。そのため、URLリストファイルへ複数のネーミングサービスのURLを記述する場合は、頻繁に接続するネーミングサービスをURLリストファイルの先頭(上位)に記述しておくことにより、性能面で有利になります。