我们可以使用wso2esb Jms消费消息吗?

时间:2013-08-20 07:33:25

标签: wso2 wso2esb wso2dss

我使用的是wso2esb4.7.0和ActiveMQ 5.8.0版本 我按照wso2esb文档提供了存储和转发邮件存储策略 但我不想要商店我只想消费那些已经存储过的消息 通过我的客户端应用程序,我希望每隔5秒汇集一次这些消息 在使用ActiveMq的wso2esb jms中是否可行 你会写代理的示例代码

<messageProcessor name="Duplicate5" class="org.apache.synapse.message.processors.forward.ScheduledMessageForwardingProcessor" messageStore="Duplicate" xmlns="http://ws.apache.org/ns/synapse">
   <parameter name="interval">1000</parameter>
   <parameter name="message.processor.reply.sequence">fault</parameter>
</messageProcessor>

我试过这个,但它不起作用

3 个答案:

答案 0 :(得分:0)

要从队列中提取消息,您需要使用JMS传输...检查样本的JMS代理..

答案 1 :(得分:0)

消息存储以可序列化Java对象的形式保留消息。这可能包含某些基础信息(例如:属性),当您在ActiveMQ控制台中查看消息详细信息时,这些信息在消息中不可见。消息处理器在处理消息时使用由商店存储的这种信息。因此,据我所知,如果你想使功能正常,消息存储和消息处理器应该一起使用。

如果您直接将收到的邮件存储在ActiveMQ队列中,则可能必须手动配置邮件使用者。检查这个用例[1]。

还要查看这篇博文示例以获得一个想法[2]。

[1] http://docs.wso2.org/wiki/display/ESB470/ESB+as+a+JMS+Consumer

[2] http://nuwanwimalasekara.blogspot.com/2013/04/jms-proxy-service-using-wso2-esb.html

希望这有帮助。

答案 2 :(得分:0)

您不能单独使用消息处理器,您必须具有消息存储和消息处理器的组合。如果你想在一段时间后理解behavior of the Message Store and Message processor refer the blog

如果要使用ESB从JMS使用listen / pull,则必须使用ESB as a JMS Consumer。请进一步参考文档中的实施细节。