activemq – 如何在队列中放置消息后立即在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);

最佳答案 代替

    到(SEDA_RECEIVED)

你可以试试

    INONLY(SEDA_RECEIVED)

点赞