MQDのメッセージキューを利用した非同期メッセージを受信するための環境を設定します。MQD受信は、受信メッセージの内容を確認し、ルーティング定義で設定した条件に従ってサービスエンドポイントを決定します。
以下の手順で設定します。
環境設定コマンドの実行
以下のコマンドを実行し、必要な環境設定を行います。
esisetenv_mqdrcv -q メッセージキュー名 [-s MQDシステム名(デフォルト値“MQD001”)] [-a -u DBユーザID [-p パスワード]]
引数 | 説明 |
---|---|
-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受信環境の削除”を参照してください。
設定内容の確認
islistwudefコマンドを実行し、環境設定コマンドで設定したワークユニットが登録されていることを確認してください。
MQD受信環境定義ファイルの編集
MQD受信環境定義ファイルを編集します。
MQD受信環境定義ファイルは、以下のファイル名で作成されています。
/opt/FJSVesi/etc/def/properties/ESIMQDRcv-MQDシステム名-メッセージキュー名.properties
MQD受信環境定義ファイルには、以下の内容を定義します。
定義名 | 意味 |
---|---|
DistributionName | ルーティング定義名です。 |
RecvInterruptThresholdLevel | 受信メッセージ数の最大値です。メッセージ滞留が発生した場合、指定した値以上のメッセージは、中断され、受信できません。 |
RecvRestartThresholdLevel | 受信を再開するメッセージ数です。メッセージ滞留によって中断したメッセージ受信を再開します。 |
WatchIntervalTime | メッセージの監視時間(ミリ秒)です。 |
ThreadMultiplicity | スレッド多重度です。 |
MessageAccumulate | メッセージ蓄積機能の利用の有無です。
|
ExecuteOrderGuarantee | 順番保証機能の利用の有無です。(デフォルトは、“false”です。)
|
OrderGuaranteeUnit | メッセージの順番を保証する単位です。(デフォルトは、“endpoint”です。)
|
DBSystemName | データベースシステム名です。 |
DBName | データベース名です。 |
MsgDBAccumulateMessageBLOBSize | メッセージ蓄積データベースの情報です。蓄積メッセージのBLOBサイズです。 |
MQD受信環境定義ファイルは、MQD受信のワークユニット起動時に反映されます。内容を編集した場合は、MQD受信のワークユニットを再起動してください。
ルーティング定義の作成と登録・配置
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”)]