Camel:如何从另一个路径中的Method中调用直接路由来获取直接路由的响应

时间:2017-03-31 08:50:05

标签: spring-boot apache-camel

我有以下情况:

 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是一个解决方案吗? (如果是,请提供样品)

0 个答案:

没有答案
相关问题