106.3. 使用
要使用数据格式,只需实例化实例,并在路由构建器中调用 marshal 或 unmarshal 操作:
FlatpackDataFormat fp = new FlatpackDataFormat(); fp.setDefinition(new ClassPathResource("INVENTORY-Delimited.pzmap.xml")); ... from("file:order/in").unmarshal(df).to("seda:queue:neworder");
上面的示例将使用 Flatpack 配置文件 INVENTORY-Delimited.pzmap.xml
从 order/in
文件夹中读取文件,并解压缩输入。其结果是一个 DataSetList
对象,它存储在 SEDA 队列中。
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");
在上面的代码中,我们将对象表示的数据汇总为 映射
的行列表。Map
包含键和对应值的列名称的行。这个结构可以在 Java 代码中创建,例如处理器。我们根据 Flatpack 格式对数据进行汇总,并将结果转换为 String
对象,并将它存储在 JMS 队列中。