ページの先頭行へ戻る
Linkexpress Transactional Replication option V5.0L60 説明書
FUJITSU Software

11.6.3 メッセージ取出し

メッセージ取出し機能は、システム内で取得した利用ジャーナルを一括して一般ファイルに取り出す機能です。

メッセージ取出しはtjnlgetmsgコマンドで行います。tjnlgetmsgコマンドの詳細は"11.9.3.16 tjnlgetmsg(利用ジャーナルを取り出す)"を参照してください。

以下にtjnlgetmsgコマンドの入力例を示します。


--------------------------------------------------------
tjnlgetmsg -f /tjnl/data/datafile QUE01
--------------------------------------------------------


--------------------------------------------------------
tjnlgetmsg -f c:\tjnl\data\datafile QUE01
--------------------------------------------------------

メッセージ取出し機能について説明します。

11.6.3.1 取出し単位

メッセージ取出しコマンドは、指定されたメッセージキューに蓄積されている利用ジャーナルをすべて取り出します。ただし、以下の要因によってすべてのメッセージが取り出されないことがあります。

11.6.3.1.1 ジャーナル・チェックポイント

メッセージキューにジャーナル・チェックポイントが格納されている場合は、ジャーナル・チェックポイントまでの利用ジャーナルが一般ファイルに取り出されます。ただし、ジャーナル・チェックポイントのメッセージはファイルに取り出されません。

"図11.22 ジャーナル・チェックポイントが格納されている場合のメッセージの取出し例"にジャーナル・チェックポイントが格納されている場合のメッセージの取出し例を示します。

図11.22 ジャーナル・チェックポイントが格納されている場合のメッセージの取出し例

11.6.3.1.2 未完結のトランザクション

メッセージ取出しは、原則としてジャーナル取得時のトランザクション単位に行われます。したがって、同一トランザクションで取得した最後の利用ジャーナルがメッセージキューに配付されていない場合は、そのトランザクションの利用ジャーナルは取り出されません。

"図11.23 未完結のトランザクションが存在する場合のメッセージ取出し例"に未完結のトランザクションが存在する場合のメッセージ取出し例を示します。

図11.23 未完結のトランザクションが存在する場合のメッセージ取出し例

11.6.3.1.3 メッセージ数

メッセージ取出しコマンドが一度に取り出すメッセージ件数は8000件までです("図11.24 メッセージ数によるメッセージ取出し例"のケース1)。これを超えるメッセージがメッセージキューに配付されている場合は、以下のようになります。

"図11.24 メッセージ数によるメッセージ取出し例"にメッセージ数によるメッセージ取出し例を示します。

図11.24 メッセージ数によるメッセージ取出し例

11.6.3.1.4 メッセージサイズ

メッセージ取出しコマンドが一度に取り出すメッセージサイズは、1トランザクションで送受信するメッセージ長の合計の最大値によって決まります。1トランザクションで送受信するメッセージ長の合計の最大値は、TRMの環境作成時に指定した値です。詳細は"第17章 環境作成"を参照してください。

メッセージ取出しコマンドが一度に取り出すメッセージサイズは、{1トランザクションで送受信するメッセージ長の合計の最大値-4}[MB](以降、ポイントAとします)までです("図11.25 サイズによるメッセージ取出し例"のケース1)。これを超えるメッセージがメッセージキューに配付されている場合は、以下のようになります。

"図11.25 サイズによるメッセージ取出し例"にサイズによるメッセージ取出し例を示します。

図11.25 サイズによるメッセージ取出し例

11.6.3.2 データ形式

メッセージ取出しコマンドでは、メッセージから利用ジャーナルのみを取り出してファイルに格納します。したがって、以下のデータはファイルに取り出されません。

"図11.26 ファイルのデータ形式"にメッセージ取出しコマンドで作成されるファイルのデータ形式を示します。なお、利用ジャーナルのデータ形式は"第14章 データ形式"を参照してください。

図11.26 ファイルのデータ形式

ただし、利用ジャーナルにジャーナル・チェックポイントの項目が含まれる場合、メッセージ取出しコマンドは、利用ジャーナルからジャーナル・チェックポイントの項目を除いて取り出します。

取得定義でジャーナル・チェックポイントが定義されていて、配付定義で圧縮しない指定をしている場合、メッセージキューに配付される利用ジャーナルにはジャーナル・チェックポイントの項目が最終項目として付加されますが、メッセージ取出しコマンドが作成したファイルには格納されません。また、レコード制御部のレコード長は、ジャーナル・チェックポイント項目の長さを除いた長さを設定します。

圧縮についての詳細は"14.2.2 圧縮"を、レコード制御部の詳細は、"14.1.2.1 レコード制御部"を参照してください。

"図11.27 ジャーナル・チェックポイントが定義されている場合のファイルのデータ形式"に取得定義でジャーナル・チェックポイントが定義されている場合のファイルのデータ形式を示します。

図11.27 ジャーナル・チェックポイントが定義されている場合のファイルのデータ形式

11.6.3.3 データ保証

メッセージ取出しの途中にシステムダウンなどの異常が発生した場合に備えて、メッセージ取出しコマンドは、以下の名前のファイルにメッセージを一時的に格納します。

{メッセージ取出しコマンドで指定されたファイル名}.{TRMシステム名}MQDMQD

メッセージ取出しコマンドが1回の操作で取り出すメッセージを取り出し終えた時点で、指定されたファイル名に変更します。

メッセージ取出しコマンドの実行中にシステムダウンなどの異常が発生した場合は、以下の点に注意してください。