所以我使用Spring集成链接JMS和ActiveMQ,如下所示: -
<amq:broker useJmx="false" persistent="false">
<amq:transportConnectors>
<amq:transportConnector uri="tcp://localhost:0" />
</amq:transportConnectors>
</amq:broker>
<bean id="amqConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory" p:brokerURL="tcp://localhost:61616"/>
<bean id="destination" class="org.apache.activemq.command.ActiveMQQueue" c:name="destination"/>
<bean id="testTemplate" class="org.springframework.jms.core.JmsTemplate" depends-on="amqConnectionFactory" scope="prototype"
p:connectionFactory-ref="amqConnectionFactory"
p:pubSubDomain="false"
p:defaultDestination-ref="destination"
p:sessionTransacted="true"
p:receiveTimeout="5000"/>
现在,当我通过启动ActiveMQ然后运行我的应用程序来运行测试时,我看到消息被发布到&#34;目的地&#34;从日志队列。但是,我无法从队列中检索任何这些内容。即使在JConsole中,它也会显示queueSize并计为0。
如何使其工作以便我可以发送和接收来自此队列的消息?请帮忙。
答案 0 :(得分:1)
为什么要将传输连接器指定为:tcp://localhost:0
,将ConnectionFactory网址指定为tcp://localhost:61616
?
我会为两者使用相同的网址。