ページの先頭行へ戻る
Interstage Service Integrator V9.6.1 導入ガイド
FUJITSU Software

25.1 MQD受信の設定

MQDのメッセージキューを利用した非同期メッセージを受信するための環境を設定します。MQD受信は、受信メッセージの内容を確認し、ルーティング定義で設定した条件に従ってサービスエンドポイントを決定します。
以下の手順で設定します。

  1. 環境設定コマンドの実行
    以下のコマンドを実行し、必要な環境設定を行います。

    esisetenv_mqdrcv -q メッセージキュー名 [-s MQDシステム名(デフォルト値“MQD001”)] [-a -u DBユーザID [-p パスワード]]
    表25.1 esisetenv_mqdrcvの引数

    引数

    説明

    -q メッセージキュー名

    MQDのメッセージキューの名前を指定します。

    -s MQDシステム名

    MQDの環境構築で設定したMQDシステムの名前(デフォルト値“MQD001”)を指定します。

    -a

    メッセージ蓄積機能を利用する場合に指定します。

    -u DBユーザID

    メッセージ蓄積データベースのユーザIDを指定します。

    -p パスワード

    メッセージ蓄積データベースのDBユーザのパスワードを指定します。
    省略した場合は、対話形式でパスワード入力が求められます。

    注:MQDシステム名とメッセージキュー名を合わせて22バイト以内で設定してください。

    上記の環境設定コマンドでは、Interstage Application Serverに以下を登録します。

    • MQD受信のインプリメンテーションリポジトリID(“ESIMQDRcv-MQDシステム名-メッセージキュー名”)

    • MQD受信のオブジェクトリファレンス(“ESIMQDRcv-MQDシステム名-メッセージキュー名”)

    • MQD受信のワークユニット(“ESIMQDRcv-MQDシステム名-メッセージキュー名”、“ESIMQDRcvAdp-MQDシステム名-メッセージキュー名”)

    • MQD受信の環境設定ファイル(“ESIMQDRcv-MQDシステム名-メッセージキュー名.properties”)

    注意

    esisetenv_mqdrcvコマンドの実行に失敗した場合は、エラーの原因を取り除いたあと、esiunsetenv_mqdrcvコマンドを実行して作成途中のMQD受信環境を削除してください。その後、再度esisetenv_mqdrcvコマンドを実行してください。
    esiunsetenv_mqdrcvコマンドについては、“MQD受信環境の削除”を参照してください。

  2. 設定内容の確認
    islistwudefコマンドを実行し、環境設定コマンドで設定したワークユニットが登録されていることを確認してください。

  3. MQD受信環境定義ファイルの編集
    MQD受信環境定義ファイルを編集します。
    MQD受信環境定義ファイルは、以下のファイル名で作成されています。

    /opt/FJSVesi/etc/def/properties/ESIMQDRcv-MQDシステム名-メッセージキュー名.properties

    MQD受信環境定義ファイルには、以下の内容を定義します。

    表25.2 MQD受信環境定義ファイルの内容

    定義名

    意味

    DistributionName

    ルーティング定義名です。

    RecvInterruptThresholdLevel

    受信メッセージ数の最大値です。メッセージ滞留が発生した場合、指定した値以上のメッセージは、中断され、受信できません。
    (デフォルトは、“300”です。)

    RecvRestartThresholdLevel

    受信を再開するメッセージ数です。メッセージ滞留によって中断したメッセージ受信を再開します。
    (デフォルトは、“100”です。)

    WatchIntervalTime

    メッセージの監視時間(ミリ秒)です。
    (デフォルトは、“500”ミリ秒です。)

    ThreadMultiplicity

    スレッド多重度です。
    (デフォルトは、“16”です。)

    MessageAccumulate

    メッセージ蓄積機能の利用の有無です。
    “-a”オプションを指定した場合は“true”、“-a”オプションを指定しない場合は“false”が自動的に設定されます。設定された内容を変更する必要はありません。

    • true
      メッセージ蓄積機能を利用する。

    • false
      メッセージ蓄積機能を利用しない。

    ExecuteOrderGuarantee

    順番保証機能の利用の有無です。(デフォルトは、“false”です。)

    • true
      順番保証機能を利用する。

    • false
      順番保証機能を利用しない。

    OrderGuaranteeUnit

    メッセージの順番を保証する単位です。(デフォルトは、“endpoint”です。)

    • endpoint
      サービスエンドポイント単位に順番を保証する。

    • queue
      メッセージキュー単位に順番を保証する。

    DBSystemName

    データベースシステム名です。
    メッセージ蓄積機能を利用する場合は、ISIで使用するデータベースシステム名が自動的に設定されます。設定された内容を変更する必要はありません。

    DBName

    データベース名です。
    メッセージ蓄積機能を利用する場合は、ISIのJMS-R環境セットアップ定義ファイルで指定した内容が自動的に設定されます。設定された内容を変更する必要はありません。

    MsgDBAccumulateMessageBLOBSize

    メッセージ蓄積データベースの情報です。蓄積メッセージのBLOBサイズです。
    メッセージ蓄積機能を利用する場合は、ISIのJMS-R環境セットアップ定義ファイルで指定した内容が自動的に設定されます。設定された内容を変更する必要はありません。

    MQD受信環境定義ファイルは、MQD受信のワークユニット起動時に反映されます。内容を編集した場合は、MQD受信のワークユニットを再起動してください。

  4. ルーティング定義の作成と登録・配置
    MQD受信で使用するルーティング定義を作成し、ISIへ登録・配置します。ルーティング定義については、“ISI アプリケーション開発ガイド”を参照してください。

MessageQueueDirectorのMQD環境定義の例

以下にMessageQueueDirectorのMQD環境定義の例を示します。
MQD環境定義およびMQD環境作成(mqdsetup)コマンドの詳細は、“Interstage Application Server MessageQueueDirector説明書”を参照してください。

メッセージ蓄積機能を利用する場合

esisetenv_mqdrcvコマンドまたはesisetenv_mqdsndコマンド実行時に、“-a”オプションを指定する場合は、以下のように定義してください。
なお、MQD環境作成(mqdsetup)コマンド実行時の環境変数“RDBNAME”には、ISIの環境変数スクリプト(“/opt/FJSVesi/bin/esienv.sh”)に指定したRDBシステム名を指定してください。

MQD環境定義の指定例(データベースを使用)

[MQDConfiguration]              # MQD環境情報
 QueueMax = 50
 MessageBufferMaxSize = 256     # 256Mバイト
 QMKind = RDB                   # メッセージ格納ファイルとしてDBを使用

 DBName = ESIMESSAGEDB          # ISIのメッセージ蓄積データベース名を指定(注1)

[SystemFile]                     # システム制御用ファイル情報
 SystemFile = /dev/rdsk/c1t2d0s3 # システム制御用データベーススペース
 SystemFile_Size = 2000000       # 2Gバイト

[DiskQueue]                      # ディスク型メッセージキューの情報
 File = /dev/rdsk/c1t2d0s5       # メッセージ格納用データベーススペース
 Size = 2000000                  # 2Gバイト
 QueueQuota = 40000              # 40Mバイト

注1):MQD環境定義の“DBName”には、ISIのJMS-R環境セットアップ定義ファイル“/opt/FJSVesi/etc/esijmsrsetup.conf”の“DBName”と同じ名前を指定してください。

メッセージ蓄積機能を利用しない場合(メッセージキューにデータベースを使用)

esisetenv_mqdrcvコマンドまたはesisetenv_mqdsndコマンド実行時に、“-a”オプションを指定しないで、メッセージキューにデータベースを使用する場合は、以下のように定義してください。
なお、MQD環境作成(mqdsetup)コマンド実行時の環境変数“RDBNAME”には、ISIの環境変数スクリプト(“/opt/FJSVesi/bin/esienv.sh”)に指定したRDBシステム名を指定してください。

MQD環境定義の指定例(データベースを使用)

[MQDConfiguration]              # MQD環境情報
 QueueMax = 50
 MessageBufferMaxSize = 256     # 256Mバイト
 QMKind = RDB                   # メッセージ格納ファイルとしてDBを使用

[SystemFile]                     # システム制御用ファイル情報
 SystemFile = /dev/rdsk/c1t2d0s3 # システム制御用データベーススペース
 SystemFile_Size = 2000000       # 2Gバイト

[DiskQueue]                      # ディスク型メッセージキューの情報
 File = /dev/rdsk/c1t2d0s5       # メッセージ格納用データベーススペース
 Size = 2000000                  # 2Gバイト
 QueueQuota = 40000              # 40Mバイト
メッセージ蓄積機能を利用しない場合(メッセージキューにファイルを使用)

esisetenv_mqdrcvコマンド、またはesisetenv_mqdsndコマンド実行時に、“-a”オプションを指定しないで、メッセージキューにファイルを使用する場合は、以下のように定義してください。

MQD環境定義の指定例(ファイルを使用)

[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

MQD受信環境の削除

設定したMQD受信環境を削除する場合は、以下のコマンドを実行してください。

esiunsetenv_mqdrcv -q メッセージキュー名 [-s MQDシステム名(デフォルト値“MQD001”)]