没有消息存储库的JMS队列的消息处理器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了没有消息存储库的JMS队列的消息处理器相关的知识,希望对你有一定的参考价值。

是否可以将JMS消息发送到Message Broker中的JMS队列,以便由没有消息存储的消息处理器进一步处理?

EG

    <resource methods="PUT" uri-template="/{itemName}">
    <inSequence>
        <property name="transport.jms.ContentTypeProperty" value="Content-Type" scope="axis2"/>
        <property name="HTTP_METHOD" expression="get-property('axis2','HTTP_METHOD')" scope="transport" type="STRING"></property>
        <property expression="json-eval($.barcode)" name="uri.var.barcode" scope="default" type="STRING"/>
        <log level="full">
            <property expression="get-property('uri.var.barcode')" name="barcode"/>
        </log>
        <payloadFactory media-type="json">
            <format>
                {"barcode": "$1"}
            </format>
            <args>
                <arg evaluator="xml" expression="get-property('uri.var.barcode')"/>
            </args>
        </payloadFactory>
        <send>
            <endpoint>
                <address uri="jms:/myqueue?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.wso2.andes.jndi.PropertiesFileInitialContextFactory&amp;java.naming.provider.url=conf/jndi.properties&amp;transport.jms.DestinationType=queue&amp;transport.jms.ContentTypeProperty=ContentType"/>
            </endpoint>
        </send>
    </inSequence>
    <outSequence/>
</resource>

假设我有一个接收JSON主体的简单API,我想将它发送到名为myqueue的队列,我希望消息处理器能够读取消息以便进一步处理。

或者是否有其他方法可以实现类似的概念?

答案

如果您的要求仅仅是消耗来自特定队列的消息以进行进一步处理,则以下可能是更好的适合而不是消息处理器,它们被设计用于临时存储消息的消息存储:

以上是关于没有消息存储库的JMS队列的消息处理器的主要内容,如果未能解决你的问题,请参考以下文章

获取Weblogic中JMS队列处理的消息的历史记录

每 15 条 JMS 消息卡在队列中,直到第 1 条消息完成

ActiveMQ / JMS 消息处理程序测试

替换 jms 队列中的消息

读取与从 JMS 队列复制消息..使用 logstash 到 ES

JMS 工作流 - 混合队列和主题