Spring Mule ESB HornetQ JMS消息未传递

Spring Mule ESB HornetQ JMS消息未传递,spring,jms,mule,esb,hornetq,Spring,Jms,Mule,Esb,Hornetq,请耐心听我说,我一直停留在最简单的Mule ESB/JMS用例上。我正在尝试让Mule应用程序接受来自现有HornetQ队列的传入消息。下面提供了我的mule-config.xml。我的问题是,;每当消息生产者向队列中添加消息时,HornetQ都会报告消息已达到给定消息的最大重新传递尝试次数,并将其发送到死信队列-显然Mule JMS入站端点从未接受该消息。只有当Mule服务器正在运行时才会发生这种情况。请务必注意,应用程序在Mule服务器中部署时不会出现问题,否则,提供商当然不会尝试任何预期的

请耐心听我说,我一直停留在最简单的Mule ESB/JMS用例上。我正在尝试让Mule应用程序接受来自现有HornetQ队列的传入消息。下面提供了我的mule-config.xml。我的问题是,;每当消息生产者向队列中添加消息时,HornetQ都会报告消息已达到给定消息的最大重新传递尝试次数,并将其发送到死信队列-显然Mule JMS入站端点从未接受该消息。只有当Mule服务器正在运行时才会发生这种情况。请务必注意,应用程序在Mule服务器中部署时不会出现问题,否则,提供商当然不会尝试任何预期的交付。我在其他应用程序中使用了hornet配置,在同一个HornetQ实例中设置消息侦听器,没有问题。如蒙协助,将不胜感激

<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesoft.org/schema/mule/core"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:beans="http://www.springframework.org/schema/beans"
    xmlns:jms="http://www.mulesoft.org/schema/mule/jms"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
        http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/3.4/mule.xsd
        http://www.mulesoft.org/schema/mule/jms http://www.mulesoft.org/schema/mule/jms/3.4/mule-jms.xsd">

    <beans:bean id="hornetConnectionFactory" class="org.hornetq.jms.client.HornetQXAConnectionFactory">
        <beans:constructor-arg name="ha" value="false" />
        <beans:constructor-arg>
            <beans:bean class="org.hornetq.api.core.TransportConfiguration">
                <beans:constructor-arg value="org.hornetq.core.remoting.impl.netty.NettyConnectorFactory" />
                <beans:constructor-arg>
                    <beans:map key-type="java.lang.String" value-type="java.lang.Object">
                        <beans:entry key="host" value="localhost"/>
                        <beans:entry key="port" value="5445"/>
                    </beans:map>
                </beans:constructor-arg>
            </beans:bean>
        </beans:constructor-arg>
    </beans:bean>

    <beans:bean id="cachingConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
        <beans:constructor-arg ref="hornetConnectionFactory" />
    </beans:bean>

    <beans:bean id="transactionalConnectionFactory" class="org.springframework.jms.connection.TransactionAwareConnectionFactoryProxy">
        <beans:property name="targetConnectionFactory" ref="cachingConnectionFactory" />
        <beans:property name="synchedLocalTransactionAllowed" value="true" />
    </beans:bean>

    <jms:connector name="jmsConnector" specification="1.1" connectionFactory-ref="transactionalConnectionFactory"
        validateConnections="true" acknowledgementMode="AUTO_ACKNOWLEDGE" disableTemporaryReplyToDestinations="true" />

    <flow name="MyFlow">
        <jms:inbound-endpoint connector-ref="jmsConnector" queue="MyQueue"
            exchange-pattern="one-way" />
        <logger message="Message #[payload.id] processed successfully" level="DEBUG"/>
    </flow>

</mule>

我想知道问题是否是因为您使用的是事务性连接工厂:不确定Mule是否可以利用它,或者它可以利用它,但您必须使JMS入站端点具有事务性

您是否尝试过在jms:connector中使用裸hornetConnectionFactory