SpringMVC整合RabbitMQ,监听器总是收不到消息
琉璃爸爸 2017-12-05 04:14:34 最近研究RabbitMQ,想整合在SpringMVC上,看了很多帖子,最终还是没能成功,消费者始终收不到数据,不知道什么原因,请路过的大神指点。
我配置了rabbit.xml,这部分应该是没有问题的:
<rabbit:connection-factory id="connectionFactory" username="guest" password="guest" host="10.16.113.33" port="5672" />
<!-- 通过指定下面的admin信息,当前productor中的exchange和queue会在rabbitmq服务器上自动生成 -->
<rabbit:admin id="connectAdmin" connection-factory="connectionFactory" />
<rabbit:queue id="testQue.que" name="testQue.que" durable="true" auto-delete="false" exclusive="false" declared-by="connectAdmin"/>
<rabbit:direct-exchange name="testChange" durable="true" auto-delete="false" id="hefei">
<rabbit:bindings>
<rabbit:binding queue="testQue.que" key="testQue.que"/>
</rabbit:bindings>
</rabbit:direct-exchange>
<!-- 定义rabbit template 用于数据的接收和发送 -->
<rabbit:template id="amqTemplate" connection-factory="connectionFactory"
exchange="testChange"></rabbit:template>
<bean id = "consumor" class = "cn.zyy.mq.test.consumor.Consumor"></bean>
<!-- queue litener 观察 监听模式 当有消息到达时会通知监听在对应队列上的监听对象 -->
<rabbit:listener-container
connection-factory="connectionFactory">
<rabbit:listener queue-names="testQue.que"
ref="consumor" method="onMessage"/>
</rabbit:listener-container>
消费者:
public class Consumor implements MessageListener
{
public void onMessage(Message message)
{
System.out.println("consumor:" + message);
}
}
消费者总是收不到消息,就没走onMessage方法。。大神们,求指点