4

我正在尝试实现一个非常简单的骆驼路由,即从 CXF 端点接收请求并将其放入队列中以供以后异步处理。将消息放入队列后,我需要能够向调用者发送响应,指示已收到该消息。我已经完成了教程,但似乎无法正常工作。发生的情况是,一旦将消息放入队列,在消息从队列处理到其预期目的地之前,不会向调用者发送响应。

下面的代码

    from (SOAP_ENDPOINT)
        .to(SEDA_RECEIVED)
        .transform(constant(OK))//I expect this transform to return OK to caller
        .log("OK response sent back to caller");

    from (SEDA_RECEIVED)
        .to(BEAN_CONVERT_REQUEST)
        .to("activemq:queue:events");

    from ("activemq:queue:events")
            .to(BEAN_STORE_TO_DB);
4

2 回答 2

1

而不是 to(SEDA_RECEIVED) 你可以试试 inOnly(SEDA_RECEIVED)

于 2012-11-23T06:31:22.790 回答
1

是的,它的事件消息 eip http://camel.apache.org/event-message.html

有点相关的是窃听器 eip http://camel.apache.org/wire-tap.html

于 2012-11-24T08:07:12.233 回答