ここでは、MQD環境定義の記述方法について以下を説明します。
記述形式(ファイルを使用する場合)
記述内容の説明(ファイルを使用する場合)
記述例(ファイルを使用する場合)
なお、記述規約については、“付録A 定義記述規約”を参照してください。
MQD環境定義は以下の形式で記述します。
記述形式(ファイルを使用する場合)
[MQDConfiguration] QueueMax = 作成メッセージキュー数の最大値 MessageBufferMaxSize = メッセージバッファの最大長 [Transaction] TransactionFile = トランザクション管理ファイルの名前 Max_Size = 1トランザクションで送受信するメッセージ長の合計の最大値 [SystemFile] SystemFile1 = システム制御用ファイル1の名前 SystemFile2 = システム制御用ファイル2の名前 SystemFile2_Size = システム制御用ファイル2の容量 [QueueIndex] File = メッセージキュー管理ファイルの名前 [DiskQueue] File = ディスク型メッセージキューのメッセージ格納ファイルの名前 Size = ディスク型メッセージキューのメッセージ格納域の容量 [MemoryQueue] File = メモリ型メッセージキューのメッセージ格納域管理ファイルの名前 Size = メモリ型メッセージキューのメッセージ格納域の容量 [WatchQueueUsed] DiskQueue = ディスク型メッセージキューのメッセージ格納域の安全値と警告値 MemoryQueue = メモリ型メッセージキューのメッセージ格納域の安全値と警告値 |
MQD環境定義の記述内容について以下に説明します。
なお、本項で指定する各ファイルは、すべて新規ファイルです。ただし、ディレクトリについては、既存の(実在する)ものを指定する必要があります。
MQD環境の情報を記述します。記述内容を表3.4 MQDConfigurationセクションの記述内容に示します。
キーワード | 省略 | データ型 | 記述方法 | 記述内容の説明 |
---|---|---|---|---|
QueueMax | 不可 | 数値 | 1~30000の数値で指定します。 | 作成メッセージキュー数の最大値を指定します。(注1) |
MessageBufferMaxSize | 可 | 数値 | 1~1024の数値で指定します。 | 一時的にメッセージを格納するバッファの最大長を指定します。 |
QMKind | 可 | 文字列 | “MQD”を指定します。 | メッセージ格納ファイルの種別を指定します。 |
注1) MQDの拡張機能を使用する場合、各サービスに対して以下の値が必要です。アプリケーションで必要な値に使用するサービスに必要な値を加えた値以上を指定してください。
イベントチャネル連携サービスを使用する場合
(送信キュー数 + 受信キュー数) * 2
注2) 使用バッファ量の見積もりは以下の式に従ってください。
(アプリケーションが1トランザクションで扱うメッセージ長の合計の最大値) * (同時に起動するアプリケーション数) * 2
MQDの拡張機能を使用する場合、上記見積もりに以下の値を追加してください。
サービス名 | 追加する値 |
---|---|
同報配信サービス | 同報グループ数 * 平均メッセージ長 * 2 |
ACM連携サービス | 1 |
イベントチャネル連携サービス | (送信キュー数 + 受信キュー数) * 平均メッセージ長 * 2 |
SMTP連携サービス | (送信キュー数 + 受信キュー数) * 平均メッセージ長 * 2 |
トランザクション管理ファイル情報を記述します。記述内容を表3.5 Transactionセクションの記述内容に示します。
キーワード | 省略 | データ型 | 記述方法 | 記述内容の説明 |
---|---|---|---|---|
Transaction | 不可 | 文字列 | 絶対パス名で指定します。 NTFS(ローカルディスク)上のファイルを指定します。 ローデバイスファイル(推奨)または通常ファイルを指定します。(注1) | トランザクション管理ファイルの名前を指定します。 |
Max_Size | 可 | 数値 | 16~65536の数値で指定します。[Kバイト]の単位で指定します。 | 1トランザクションで送受信するメッセージ長の合計の10倍を指定します。その値が65536を超える場合には、65536を指定してください。 |
注1) ローデバイスファイルを使用する場合、ローデバイスの領域量は必ず2Gバイト以下にしてください。2Gを超える領域を指定すると、mqdsetupコマンドが復帰しなくなります
注2) MQDの拡張機能を使用する場合、各サービスに対して以下の値が必要です。アプリケーションで必要な値に使用するサービスに必要な値を加えた値以上を指定してください。
ACM連携サービスを使用する場合
1000
同報配信サービスを使用する場合
1ユニット内のユーザデータ長の合計 + MQDヘッダ長 × 1ユニット内メッセージ数
イベントチャネル連携サービスを使用する場合
14400、または
ユーザデータの最大長[Kバイト] × パッキング数 + 256 を比べて大きいほうの値
なお、パッキング数は、イベントチャネル連携サービスのサービス定義のpackmsg_cntキーワードで指定します。
SMTP連携サービスを使用する場合
1ユニット内のユーザデータ長の合計 + MQDヘッダ長 × 1ユニット内メッセージ数
MQDが使用するシステム制御用ファイルの情報を記述します。記述内容を表3.6 SystemFileセクションの記述内容に示します。
キーワード | 省略 | データ型 | 記述方法 | 記述内容の説明 |
---|---|---|---|---|
SystemFile1 | 不可 | 文字列 | 絶対パス名で指定します。 NTFS(ローカルディスク)上のファイルを指定します。 通常ファイルまたはローデバイスファイルを指定します。(注1) | システム制御用ファイル1の名前を指定します。 |
SystemFile2 | 不可 | 文字列 | 同上 | システム制御用ファイル2の名前を指定します。 |
SystemFile2_Size | 不可 | 数値 | 80~2097151の数値で指定します。 | システム制御用ファイル2の容量を指定します。 |
注1) ローデバイスファイルを使用する場合、ローデバイスの領域量は必ず2Gバイト以下にしてください。2Gを超える領域を指定すると、mqdsetupコマンドが復帰しなくなります
メッセージキュー管理ファイル情報を記述します。記述内容を表3.7 QueueIndexセクションの記述内容に示します。
キーワード | 省略 | データ型 | 記述方法 | 記述内容の説明 |
---|---|---|---|---|
File | 不可 | 文字列 | 絶対パス名で指定します。 NTFS(ローカルディスク)上のファイルを指定します。 通常ファイル(推奨)またはローデバイスファイルを指定します。(注1) | メッセージキュー管理ファイルの名前を指定します。 |
注1) ローデバイスファイルを使用する場合、ローデバイスの領域量は必ず2Gバイト以下にしてください。2Gを超える領域を指定すると、mqdsetupコマンドが復帰しなくなります
メッセージ保証レベルがディスク型のメッセージキューを利用する場合に、ディスク型メッセージキューの情報を記述します。記述内容を表3.8 DiskQueueセクションの記述内容に示します。
キーワード | 省略 | データ型 | 記述方法 | 記述内容の説明 |
---|---|---|---|---|
File | 不可 | 文字列 | 絶対パス名で指定します。 NTFS(ローカルディスク)上のファイルを指定します。 通常ファイル(推奨)またはローデバイスファイルを指定します。(注1) | ディスク型メッセージキューのメッセージ格納域(メッセージ格納ファイル)の名前を指定します。 |
Size | 不可 | 数値 | 80~2097151の数値で指定します。[Kバイト]の単位で指定します。 | ディスク型メッセージキューのメッセージ格納域(メッセージ格納ファイル)の容量を指定します。(注2) |
注1) ローデバイスファイルを使用する場合、ローデバイスの領域量は必ず2Gバイト以下にしてください。2Gを超える領域を指定すると、mqdsetupコマンドが復帰しなくなります
注2) MQDの拡張機能を使用する場合、各サービスに対して以下の値が必要です。アプリケーションで必要な値に使用するサービスに必要な値を加えた値以上を指定してください。
メッセージ保証レベルがメモリ型のメッセージキューを利用する場合に、メモリ型メッセージキューの情報を記述します。記述内容を表3.9 MemoryQueueセクションの記述内容に示します。
キーワード | 省略 | データ型 | 記述方法 | 記述内容の説明 |
---|---|---|---|---|
File | 不可 | 文字列 | 絶対パス名で指定します。 NTFS(ローカルディスク)上のファイルを指定します。 通常ファイルを指定します。 | メモリ型メッセージキューのメッセージ格納域を管理するファイルの名前を指定します。 |
Size | 不可 | 数値 | 80~524288の数値で指定します。 | メモリ型メッセージキューのメッセージ格納域(メモリ上)の容量を指定します。メモリ型メッセージキューのメッセージ格納域の容量見積もり式は、ディスク型と同一ですので、“表3.2 ファイル容量の見積り方法(ファイルを使用する場合)”の“ディスク型メッセージキューのメッセージ格納域”の式で求めてください。 |
メッセージ格納域の使用状況の監視を行う場合に記述します。記述内容を表3.10 WatchQueueUsedセクションの記述内容に示します。
キーワード | 省略 | データ型 | 記述方法 | 記述内容の説明 |
---|---|---|---|---|
DiskQueue | 可 | 数値 | “安全値-警告値”の形式で指定します。安全値は0~99[%]、警告値は1~100[%]の範囲で指定します。安全値と警告値は、安全値 < 警告値の関係でなければなりません。 | ディスク型メッセージキューのメッセージ格納域の使用量に対する安全値と警告値を設定します。キーワードを省略した場合、メッセージ格納域がない場合、メッセージ格納域の使用状況監視は行われません。 |
MemoryQueue | 可 | 数値 | “安全値-警告値”の形式で指定します。安全値は0~99[%]、警告値は1~100[%]の範囲で指定します。安全値と警告値は、安全値 < 警告値の関係でなければなりません。 | メモリ型メッセージキューのメッセージ格納域の使用量に対する安全値と警告値を設定します。キーワードを省略した場合、メッセージ格納域がない場合、メッセージ格納域の使用状況監視は行われません。 |
MQD環境定義の記述例を以下に示します。
[MQDConfiguration] # MQD環境の情報 QueueMax = 200 MessageBufferMaxSize = 80 # 80Mバイト # [Transaction] # トランザクション管理ファイルの情報 TransactionFile = c:\mqdfile\transactionfile Max_Size = 65536 # [SystemFile] # システム制御用ファイルの情報 SystemFile1 = c:\mqdfile\systemfile1 SystemFile2 = c:\mqdfile\systemfile2 SystemFile2_Size = 8000 # 8Mバイト # [QueueIndex] # メッセージキュー管理ファイルの情報 File = c:\mqdfile\queueindex # [DiskQueue] # ディスク型メッセージキューの情報 File = c:\mqdfile\diskqueuefile Size = 50000 # 50Mバイト # [MemoryQueue] # メモリ型メッセージキューの情報 File = c:\mqdfile\memoryqueuefile Size = 3000 # 3Mバイト # [WatchQueueUsed] # メッセージ格納域の使用状況監視情報 DiskQueue = 60-80 MemoryQueue = 50-70 |
[MQDConfiguration] # MQD環境情報 QueueMax = 100 MessageBufferMaxSize = 80 # 80Mバイト # [Transaction] # トランザクション管理ファイル情報 TransactionFile = /dev/rdsk/c1t2d0s1 Max_Size = 65536 # [SystemFile] # システム制御用ファイル情報 SystemFile1 = /mqdfile/systemfile1 SystemFile2 = /mqdfile/systemfile2 SystemFile2_Size = 8000 # 8Mバイト # [QueueIndex] # メッセージキュー管理ファイル情報 File = /mqdfile/indexfile # [DiskQueue] # ディスク型メッセージキューの情報 File = /mqdfile/diskfile Size = 100000 # 100Mバイト # [MemoryQueue] # メモリ型メッセージキューの情報 File = /mqdfile/memoryfile Size = 5000 # 5Mバイト # [WatchQueueUsed] # メッセージ格納域の使用状況監視情報 DiskQueue = 60-80 MemoryQueue = 50-70 |