例: 正規表現区切り文字を使用してテキスト・ファイルを複数のメッセージに分割する操作
特定の Java 正規表現にマッチングするそれぞれの箇所で 1 つのテキスト・ファイルを分割して複数のメッセージに転送します。 これを行うには、 fteCreateTransfer コマンドの -dqdt パラメーターを使用します。
本タスクについて
ファイルを可変長のセクションに分割し、各セクションをそれぞれのメッセージに書き込みます。 特定の正規表現にマッチングするテキストの地点でテキスト・ファイルを分割します。 ソース・ファイルは /tmp/names.text と呼ばれ、以下の内容が含まれています。
Jenny Jones,John Smith,Jane Brownファイルを分割する箇所を指定する正規表現は、コンマ文字 (,) です。ソース・ファイルは、キュー・マネージャー QM_NEPTUNE に接続しているソース・エージェント AGENT_NEPTUNE と同じシステムにあります。 宛先キュー RECEIVING_QUEUE は、キュー・マネージャー QM_MERCURY にあります。 QM_MERCURY は、宛先エージェント AGENT_MERCURY が使用するキュー・マネージャーでもあります。 この転送では、ソース・ファイルをいくつかのセクションに分割し、各セクションを RECEIVING_QUEUE のメッセージに書き込みます。
手順
次のコマンドを入力します。
fteCreateTransfer -sa AGENT_NEPTUNE -sm QM_NEPTUNE -da AGENT_MERCURY -dm QM_MERCURY
-dq RECEIVING_QUEUE -t text -dqdp postfix -dqdt "," /tmp/names.textソース・エージェントの AGENT_NEPTUNE は、ファイル /tmp/names.text からデータを読み取り、このデータを宛先エージェント AGENT_MERCURY に転送します。 宛先エージェント AGENT_MERCURY はデータをキュー RECEIVING_QUEUE の 3 つの永続メッセージに書き込みます。 これらのメッセージはすべて同じ IBM® MQ グループ ID を持ち、グループ内の最後のメッセージには IBM MQ LAST_MSG_IN_GROUP フラグが設定されます。メッセージ内のデータは次のとおりです。
- 1 番目のメッセージ:
Jenny Jones - 2 番目のメッセージ:
John Smith - 3 番目のメッセージ:
Jane Brown