我有以下情况:
from("servlet:/?matchOnUriPrefix=true")
.to("cxfbean:jaxrsServices?providers=jaxrsProviders")
// returns a string of consolidated requests
.to("direct:invokeHCASService");
from("direct:invokeHCASService")
/*Split the requests string using the XML token*/ /* sets header("CamelSplitSize") as split size*/
.split().tokenizeXML("<soapenv:Envelope") // ("<SOAP-ENV:Body>")//.streaming()
/*For Processing Requests in Parallel*/
.parallelAggregate() // .parallelProcessing()
/*To Invoke SOAP Services registered in GRM (Eg. CSI)*/
.to("bean:dme2ServiceUtil?method=frameRequest") // frame request
.to("bean:invokeService?method=invoke") // invoke request
.to("bean:dme2ServiceUtil?method=getResponse") // get response
/*Implementing ArrayList Aggregation Strategy to gather all Responses processed in parallel */
.aggregate(constant(true), batchAggregationStrategy())
/* Aggregation completion strategy [To stop aggregation] set to No. of requests split */
.completionSize(header("CamelSplitSize")) // .completionTimeout(BATCH_TIME_OUT)
.bean(new Consolidate(), "getConsolidatedResults");
这里我的route1返回一个字符串-----我的休息服务响应是从route1呈现的,另一个流程转到route2。
我想将此字符串输入传递给route2并获取route1中的响应以传递给调用客户端。
我也可以在route1本身的bean中执行route2中的东西,但是在这里我需要使用并行聚合并聚合结果,所以在这种情况下我需要使用rout。非常感谢任何帮助。
注意:使用CamelProxy是一个解决方案吗? (如果是,请提供样品)