ページの先頭行へ戻る
Interstage Application Server MessageQueueDirector説明書
Interstage

3.3.2 環境定義の記述(データベースを使用する場合)

ここでは、MQD環境定義の記述方法について以下を説明します。

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

3.3.2.1 記述形式(データベースを使用する場合)

MQD環境定義は以下の形式で記述します。

記述形式 (データベースを使用する場合)

[MQDConfiguration]
  QueueMax             = 作成メッセージキュー数の最大値
  MessageBufferMaxSize = メッセージバッファの最大長
  QMKind               = メッセージ格納ファイルの種別
  DBName               = Symfoware/RDBトランザクション連携機能を使用する
                         業務用データベース名 (注)

[SystemFile]
  SystemFile       = システム制御用データベーススペースのファイルの名前
  SystemFile_Size  = システム制御用データベーススペースのファイルの容量

[DiskQueue]
  File             = メッセージ格納用データベーススペースのファイルの名前
  Size             = メッセージ格納用データベーススペースのファイルの容量
  QueueQuota       = 1メッセージキューの容量

注) Symfoware/RDBトランザクション連携機能を使用する場合にだけ指定します。

3.3.2.2 記述内容の説明(データベースを使用する場合)

MQD環境定義の記述内容について以下に説明します。

なお、本項で指定する各ファイルは、すべて新規ファイルです。ただし、ディレクトリについては、既存の(実在する)ものを指定する必要があります。

a) MQDConfigurationセクション

MQD環境の情報を記述します。記述内容を表3.10 MQDConfigurationセクションの記述内容に示します。

表3.10 MQDConfigurationセクションの記述内容

キーワード

省略

データ型

記述方法

記述内容の説明

QueueMax

不可

数値

1~30000の数値で指定します。

作成メッセージキュー数の最大値を指定します。(注2)

MessageBufferMaxSize

数値

1~1024の数値で指定します。
[Mバイト]の単位で指定します。
省略値は80Mバイトです。

一時的にメッセージを格納するバッファの最大長を指定します。

メッセージ格納ファイルとしてデータベースを使用する場合には、全メッセージキュー内に滞留しているメッセージ数×32[バイト]をこのバッファで使用します。このバッファは、共有メモリ上に獲得され、不足時に指定された値の1/10ずつ、指定された値まで拡張されます。

QMKind

不可

文字列

“RDB”を指定します。

メッセージ格納ファイルの種別を指定します。“RDB”を指定した場合は、データベースとして、Symfoware/RDBを使用します。

DBName

文字列

データベース名を指定します。

Symfoware/RDBトランザクション連携機能を使用する場合に、MQDのシステム環境を作成する業務用データベース名を指定します。(注1)

注意

注1

業務用データベースは事前に作成してください。

注2

MQDの拡張機能を使用する場合、各サービスに対して以下の値が必要です。アプリケーションで必要な値に使用するサービスに必要な値を加えた値以上を指定してください。

イベントチャネル連携サービスを使用する場合

(送信キュー数 + 受信キュー数) * 2

b) Transactionセクション

トランザクション管理ファイル情報を記述します。記述内容を表3.11 Transactionセクションの記述内容に示します。

表3.11 Transactionセクションの記述内容

キーワード

省略

データ型

記述方法

記述内容の説明

Max_Size

数値

16~65536の数値で指定します。[Kバイト]の単位で指定します。
省略値は65536[Kバイト]です。

1トランザクションで送受信するメッセージ長の合計をアプリケーションごとに求め、同時実行するアプリケーションの前述合計の総和を指定します。
上限値を設定することで、アプリケーションの異常(異常ループなど)によるMQD資源の圧迫や枯渇を防止できます。(注1)

注意

注1

MQDの拡張機能を使用する場合、各サービスに対して以下の値が必要です。アプリケーションで必要な値に使用するサービスに必要な値を加えた値以上を指定してください。

同報配信サービスを使用する場合

1ユニット内のユーザデータ長の合計 + MQDヘッダ長 × 1ユニット内メッセージ数

イベントチャネル連携サービスを使用する場合

14400、または
ユーザデータの最大長[Kバイト] × パッキング数 + 256 を比べて大きいほうの値
なお、パッキング数は、イベントチャネル連携サービスのサービス定義のpackmsg_cntキーワードで指定します。


SMTP連携サービスを使用する場合

1ユニット内のユーザデータ長の合計 + MQDヘッダ長 × 1ユニット内メッセージ数

c) SystemFileセクション

MQDが使用するシステム制御用ファイルの情報を記述します。記述内容を表3.12 SystemFileセクションの記述内容に示します。

表3.12 SystemFileセクションの記述内容

キーワード

省略

データ型

記述方法

記述内容の説明

SystemFile

不可

文字列

絶対パス名で指定します。

NTFS(ローカルディスク)上のファイルを指定します。

ローデバイスファイルを指定します。

システム制御用ファイル(システム制御用データベーススペース)の名前を指定します。

SystemFile_Size

不可

数値

153600以上の数値で指定します。[Kバイト]の単位で指定します。

システム制御用ファイル(システム制御用データベーススペース)の容量を指定します。

表3.2 ファイル容量の見積り方法(データベースを使用する場合)”の“システム制御用データベーススペース”の式で求めてください。

最大値はSymfoware/RDBの定量制限に準じます。

d) DiskQueueセクション

メッセージ保証レベルがディスク型のメッセージキューを利用する場合に、ディスク型メッセージキューの情報を記述します。記述内容を表3.13 DiskQueueセクションの記述内容に示します。

表3.13 DiskQueueセクションの記述内容

キーワード

省略

データ型

記述方法

記述内容の説明

File

不可

文字列

絶対パス名で指定します。

NTFS(ローカルディスク)上のファイルを指定します。

ローデバイスファイルを指定します。

ディスク型メッセージキューのメッセージ格納域(メッセージ格納ファイルとしてのデータベーススペース)の名前を指定します。

Size

不可

数値

4096以上の数値で指定します。
[Kバイト]の単位で指定します。

ディスク型メッセージキューのメッセージ格納域(メッセージ格納ファイルとしてのデータベーススペース)の容量を指定します。

表3.2 ファイル容量の見積り方法(データベースを使用する場合)”の“メッセージ格納用データベーススペース”の式で求めてください。

最大値はSymfoware/RDBの定量制限に準じます。

QueueQuota

不可

数値

4096以上の数値で指定します。[Kバイト]の単位で指定します。

データベーススペースから割り当てる1メッセージキューの容量を指定します。

表3.2 ファイル容量の見積り方法(データベースを使用する場合)”の“メッセージ格納テーブル”の式で求めてください。

3.3.2.3 記述例(データベースを使用する場合)

MQD環境定義の記述例を以下に示します。

# MQD環境情報
[MQDConfiguration]
  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トランザクション連携機能を使用しない場合

# MQD環境情報
[MQDConfiguration]
  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トランザクション連携機能を使用する場合

# MQD環境情報
[MQDConfiguration]
  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バイト