【发布时间】:2019-01-31 22:45:25
【问题描述】:
我创建了许多 ArrayList 来保存单独实体的集合,这些集合被拆分为它们自己的实体。这些被添加到 ArrayList 然后推送到我尝试拆分列表列表的交换。我似乎无法拆分列表列表。
尝试了拆分器的许多变体,使用令牌等。
List<String> serviceRecords = new ArrayList<String>(); //holds an assets collection
List<String> toRecords = new ArrayList<String>(); //holds all asset collections
在收集属于一个组的项目后,将它们添加到一个 ArrayList 中。
serviceRecords.add(sb.toString());
添加完所有项目后,列表将添加到列表中。
toRecords.addAll(serviceRecords);
然后我将列表推送到交易所
exchange.getIn().setBody(toRecords);
然后是 XML 路由,它在尝试不同的东西时处于混乱状态。这些都不起作用。拆分List of Lists一定有技巧。
<route autoStartup="true" id="core.fleet.asset.splitterRoute">
<from id="_from4" uri="{{fileEnrichmentEndpoint}}"/>
<process id="_process4" ref="assetCollectorProcessor"/>
<process id="_process5" ref="fleetAssetSplitter"/>
<split id="FleetSplit"> <!-- strategyRef="tsAggregationStrategy" -->
<!-- <simple>${body}</simple> -->
<tokenize token="BLOCKMarker"/>
<log id="splitBody" message="Split Body: ${body}"/>
<to id="_splitOut" uri="{{fileSplitDestination}}/?fileName=GCMS_asset_${date:now:yyyyMMddhhmmss}.csv"/>
<!-- <process id="getName" ref="fleetAssetFileName"/> -->
<!-- <to id="_splitOut" uri="{{fileSplitDestination}}/?fileName=GCMS_asset_${date:now:yyyyMMdd}.csv"/> -->
</split>
<!-- <to id="_splitOut" uri="{{fileSplitDestination}}/?fileName=GCMS_asset_${date:now:yyyyMMdd}.csv"/> -->
<stop/>
</route>
List of Lists 拆分生成的多个文件。
【问题讨论】:
-
什么是“交换”对象?它的类型是什么?您要拆分什么对象以及要根据什么属性拆分它?
标签: java arraylist split apache-camel splitter