如何在队列中放置消息后立即在camel路由上发送响应

时间:2012-11-23 01:54:34

标签: activemq apache-camel

我正在尝试实现一个非常简单的camel路由,从而从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);

2 个答案:

答案 0 :(得分:1)

而不是(SEDA RECEIVED) 你可以试试我(SEDA RECEIVED)

答案 1 :(得分:1)

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

有点相关的是有线点击 http://camel.apache.org/wire-tap.html