105.11. 使用方法

データ形式を使用するには、単にインスタンスをインスタンス化し、ルートビルダーで整列化または非整列化操作を呼び出します。

  FlatpackDataFormat fp = new FlatpackDataFormat();
  fp.setDefinition(new ClassPathResource("INVENTORY-Delimited.pzmap.xml"));
  ...
  from("file:order/in").unmarshal(df).to("seda:queue:neworder");

上記のサンプルは、order/in フォルダーからファイルを読み取り、ファイルの構造を設定する Flatpack 設定ファイル INVENTORY-Delimited.pzmap.xml を使用して入力を非整列化します。結果は、SEDA キューに格納する DataSetList オブジェクトです。

FlatpackDataFormat df = new FlatpackDataFormat();
df.setDefinition(new ClassPathResource("PEOPLE-FixedLength.pzmap.xml"));
df.setFixed(true);
df.setIgnoreFirstRecord(false);

from("seda:people").marshal(df).convertBodyTo(String.class).to("jms:queue:people");

上記のコードでは、Object 表現からのデータを、行の List として Maps としてマーシャリングします。Map としての行には、キーとしての列名と、対応する値が含まれます。この構造は、プロセッサーなどから Java コードで作成できます。Flatpack 形式に従ってデータをマーシャリングし、結果を String オブジェクトとして変換して JMS キューに格納します。