ここでは、MQD環境定義の記述方法について以下を説明します。
記述形式(データベースを使用する場合)
記述内容の説明(データベースを使用する場合)
記述例(データベースを使用する場合)
なお、記述規約については、“付録A 定義記述規約”を参照してください。
MQD環境定義は以下の形式で記述します。
記述形式 (データベースを使用する場合)
[MQDConfiguration] QueueMax = 作成メッセージキュー数の最大値 MessageBufferMaxSize = メッセージバッファの最大長 QMKind = メッセージ格納ファイルの種別 DBName = Symfoware/RDBトランザクション連携機能を使用する 業務用データベース名 (注) [SystemFile] SystemFile = システム制御用データベーススペースのファイルの名前 SystemFile_Size = システム制御用データベーススペースのファイルの容量 [DiskQueue] File = メッセージ格納用データベーススペースのファイルの名前 Size = メッセージ格納用データベーススペースのファイルの容量 QueueQuota = 1メッセージキューの容量 |
注) Symfoware/RDBトランザクション連携機能を使用する場合にだけ指定します。
MQD環境定義の記述内容について以下に説明します。
なお、本項で指定する各ファイルは、すべて新規ファイルです。ただし、ディレクトリについては、既存の(実在する)ものを指定する必要があります。
MQD環境の情報を記述します。記述内容を表3.11 MQDConfigurationセクションの記述内容に示します。
キーワード | 省略 | データ型 | 記述方法 | 記述内容の説明 |
---|---|---|---|---|
QueueMax | 不可 | 数値 | 1~30000の数値で指定します。 | 作成メッセージキュー数の最大値を指定します。(注2) |
MessageBufferMaxSize | 可 | 数値 | 1~1024の数値で指定します。 | 一時的にメッセージを格納するバッファの最大長を指定します。 メッセージ格納ファイルとしてデータベースを使用する場合には、全メッセージキュー内に滞留しているメッセージ数×32[バイト]をこのバッファで使用します。このバッファは、共有メモリ上に獲得され、不足時に指定された値の1/10ずつ、指定された値まで拡張されます。 |
QMKind | 不可 | 文字列 | “RDB”を指定します。 | メッセージ格納ファイルの種別を指定します。“RDB”を指定した場合は、データベースとして、Symfoware/RDBを使用します。 |
DBName | 可 | 文字列 | データベース名を指定します。 | Symfoware/RDBトランザクション連携機能を使用する場合に、MQDのシステム環境を作成する業務用データベース名を指定します。(注1) |
注1) 業務用データベースは事前に作成してください。
注2) MQDの拡張機能を使用する場合、各サービスに対して以下の値が必要です。アプリケーションで必要な値に使用するサービスに必要な値を加えた値以上を指定してください。
イベントチャネル連携サービスを使用する場合
(送信キュー数 + 受信キュー数) * 2
トランザクション管理ファイル情報を記述します。記述内容を表3.12 Transactionセクションの記述内容に示します。
キーワード | 省略 | データ型 | 記述方法 | 記述内容の説明 |
---|---|---|---|---|
Max_Size | 可 | 数値 | 16~65536の数値で指定します。[Kバイト]の単位で指定します。 | 1トランザクションで送受信するメッセージ長の合計をアプリケーションごとに求め、同時実行するアプリケーションの前述合計の総和を指定します。 |
注1) MQDの拡張機能を使用する場合、各サービスに対して以下の値が必要です。アプリケーションで必要な値に使用するサービスに必要な値を加えた値以上を指定してください。
ACM連携サービスを使用する場合
1000
同報配信サービスを使用する場合
1ユニット内のユーザデータ長の合計 + MQDヘッダ長 × 1ユニット内メッセージ数
イベントチャネル連携サービスを使用する場合
14400、または
ユーザデータの最大長[Kバイト] × パッキング数 + 256 を比べて大きいほうの値
なお、パッキング数は、イベントチャネル連携サービスのサービス定義のpackmsg_cntキーワードで指定します。
SMTP連携サービスを使用する場合
1ユニット内のユーザデータ長の合計 + MQDヘッダ長 × 1ユニット内メッセージ数
MQDが使用するシステム制御用ファイルの情報を記述します。記述内容を表3.13 SystemFileセクションの記述内容に示します。
キーワード | 省略 | データ型 | 記述方法 | 記述内容の説明 |
---|---|---|---|---|
SystemFile | 不可 | 文字列 | 絶対パス名で指定します。 NTFS(ローカルディスク)上のファイルを指定します。 ローデバイスファイルを指定します。 | システム制御用ファイル(システム制御用データベーススペース)の名前を指定します。 |
SystemFile_Size | 不可 | 数値 | 153600以上の数値で指定します。[Kバイト]の単位で指定します。 | システム制御用ファイル(システム制御用データベーススペース)の容量を指定します。 “表3.3 ファイル容量の見積り方法(データベースを使用する場合)”の“システム制御用データベーススペース”の式で求めてください。 最大値はSymfoware/RDBの定量制限に準じます。 |
メッセージ保証レベルがディスク型のメッセージキューを利用する場合に、ディスク型メッセージキューの情報を記述します。記述内容を表3.14 DiskQueueセクションの記述内容に示します。
キーワード | 省略 | データ型 | 記述方法 | 記述内容の説明 |
---|---|---|---|---|
File | 不可 | 文字列 | 絶対パス名で指定します。 NTFS(ローカルディスク)上のファイルを指定します。 ローデバイスファイルを指定します。 | ディスク型メッセージキューのメッセージ格納域(メッセージ格納ファイルとしてのデータベーススペース)の名前を指定します。 |
Size | 不可 | 数値 | 4096以上の数値で指定します。 | ディスク型メッセージキューのメッセージ格納域(メッセージ格納ファイルとしてのデータベーススペース)の容量を指定します。 “表3.3 ファイル容量の見積り方法(データベースを使用する場合)”の“メッセージ格納用データベーススペース”の式で求めてください。 最大値はSymfoware/RDBの定量制限に準じます。 |
QueueQuota | 不可 | 数値 | 4096以上の数値で指定します。[Kバイト]の単位で指定します。 | データベーススペースから割り当てる1メッセージキューの容量を指定します。 “表3.3 ファイル容量の見積り方法(データベースを使用する場合)”の“メッセージ格納テーブル”の式で求めてください。 |
MQD環境定義の記述例を以下に示します。
[MQDConfiguration] # MQD環境情報 QueueMax = 50 MessageBufferMaxSize = 256 # 256Mバイト QMKind = RDB # メッセージ格納ファイルとして # データベースを使用 # [SystemFile] # システム制御用ファイル情報 SystemFile = c:\mqdfile\systemfile # システム制御用データベーススペース SystemFile_Size = 2000000 # 2Gバイト # [DiskQueue] # ディスク型メッセージキューの情報 File = c:\mqdfile\diskquefile # メッセージ格納用データベーススペース Size = 2000000 # 2Gバイト QueueQuota = 40000 # 40Mバイト |
Symfoware/RDBトランザクション連携機能を使用しない場合
[MQDConfiguration] # MQD環境情報 QueueMax = 50 MessageBufferMaxSize = 256 # 256Mバイト QMKind = RDB # メッセージ格納ファイルとして # データベースを使用 # [SystemFile] # システム制御用ファイル情報 SystemFile = /dev/rdsk/c1t2d0s3 # システム制御用データベーススペース SystemFile_Size = 2000000 # 2Gバイト # [DiskQueue] # ディスク型メッセージキューの情報 File = /dev/rdsk/c1t2d0s5 # メッセージ格納用データベーススペース Size = 2000000 # 2Gバイト QueueQuota = 40000 # 40Mバイト |
Symfoware/RDBトランザクション連携機能を使用する場合
[MQDConfiguration] # MQD環境情報 QueueMax = 50 MessageBufferMaxSize = 256 # 256Mバイト QMKind = RDB # メッセージ格納ファイルとして # データベースを使用 DBName = GYOMU_DB1 # Symfoware/RDBトランザクション連携機能を # 使用する業務用データベース名 # [SystemFile] # システム制御用ファイル情報 SystemFile = /dev/rdsk/c1t2d0s3 # システム制御用データベーススペース SystemFile_Size = 2000000 # 2Gバイト # [DiskQueue] # ディスク型メッセージキューの情報 File = /dev/rdsk/c1t2d0s5 # メッセージ格納用データベーススペース Size = 2000000 # 2Gバイト QueueQuota = 40000 # 40Mバイト |