我正在尝试使用 Camel 分割器EIP来分割唐飞,但它似乎无法运作,也无法分割唐飞。除非,我遗漏了一些东西,...如果可以的话,请建议如何分割。
谢谢你!2!3!
用 Camel EIP分割器分割Map。
<process id="getassetlisting" ref="getAssetListing" />
<split id="as2"
strategyRef="tsAggregationStrategy" streaming="true">
<simple>${body}</simple>
<log id="sl2" loggingLevel="INFO" message="Split Line ${body}"/>
</split>
获取资产列表代码段
public void process(Exchange exchange) throws Exception {
log.info("Get Asset Listing :: Start");
custkey = (String)exchange.getIn().getHeader("CUSTKEY");
log.info("GetAssetListing - CUSTKEY: " + custkey);
queryRecordToDB(custkey);
for(Map.Entry m:assetMap.entrySet()){
log.info("Key: " + m.getKey() + " Value: " + m.getValue());
}
exchange.getIn().setBody(assetMap);
log.info("Get Asset Listing :: finish");
}
预期:分割Map的输入交换
入站至分离器:102_电机= 652 e4041 - 3c 2b-410 a-8ba 0 - 12 a2 a53 ec 730,BC 101_压缩机= 50480 a32-cd 65 - 4 b 93 - 94 f8 - 4 ba 50 cf 6dec 5,DC 102_膨胀机= cd 413 f1 e-816 f-466 d-a706-b87 ead 050 bac,BC 901_蒸汽_汽轮机= b4 acecbb-fac 1 - 4a 99-ab 95 - 24 e1 bc 7 f4286,101 A_压缩机= bbd 0a 7 d 7-cb 11 - 4a 64 -9168-b13 ece 4 b215 d,DCM 101 B_电机= 12819 b1 c-8dec-49 e6 - 82 cd-72 e0 de 36331 f,BCM 901_发电机= 96 de 09 f5 -6dac-458 f-bcaa-6d 67 a340 e731,BCM 101_电机= 6cf 41883 - 36 c1 - 4 eca-8325- 54588982 bdc 8,DC 901_蒸汽涡轮机= 27 f68800-e9 d2 - 4f 33-b4 e5 - 9d 2031 eaa 60 b,BCG 101_齿轮箱= 49366 bcc-bb 6a-426 f-8 c5 c-6d 65 d 675 ac 90,压缩机= 21 a60 cce-094 d-4844-b448-e9 a955 de 418 f,BC 102压缩机=49380230- 99 eb-4fee-a9 a3-e187 e4 c658 ee,DCG 901齿轮箱= d 015 e136 -1110- 4 b6 a-a9 d2 - 48 dd 2 ebc 8 c81,齿轮箱型号
预期的分割输出
扩展器=
蒸汽透平机
DCM 101 A_电机= 6 eea 4f 40 -9114- 491 d-b2 fb-34 f7 e9 b122 de
BCG 901_齿轮箱=
电机型号:
BC 101_压缩机= 50480 a32-cd 65 - 4 b 93 - 94 f8 - 4 ba 50 cf 6十月五日
蒸汽涡轮机= 96 de 09 f5 -6dac-电机_汽轮机_汽轮机_齿轮箱_压缩机_压缩机压缩机_齿轮箱=
2条答案
按热度按时间dtcbnfnu1#
你可以和 Camel 分开任何你想要的:-)
老实说,我从来没有用Map尝试过,但是如果它不被支持,你可以实现一个Bean来按照你想要的方式做。
在 Camel 路线中,您只需简单地说
您的实施
cnh2zyt32#
camel已为Map拆分此行为为Map.Entry并返回Node.class
原木