项目中用到了rabbitMq,做个笔记,记录一下!
1、通过RabbitMqDefaultMessageListenerContainer监听器可以指定消息queue在那台服务器上才能被消费,实现消息queue的可配置策略。
<!-- 自定义消息容器。配置文件中,开启监听的key:rabbit.enable.hosts。关闭监听的key:rabbit.exclude.hosts -->
<bean id="bma2smaEmpListenerContainer" class="cn.ce.framework.mq.RabbitMqDefaultMessageListenerContainer">
<property name="queueNames">
<value>${rabbit.queue.bma2sma.emp}</value>
</property>
<property name="connectionFactory" ref="connectionFactory"></property>
<property name="taskExecutor" ref="taskExecutor"></property>
<property name="messageListener" ref="bma2smaEmpLitener"></property>
</bean>
2、spring的这个配置方式,目前不知道怎么设置特定服务器消费特定的消息。
<rabbit:listener-container connection-factory="connectionFactory" acknowledge="auto" task-executor="taskExecutor">
<rabbit:listener queues="${rabbit.queue.bma2sma.order}" ref="bma2smaOrderLitener" />
<rabbit:listener queues="${rabbit.queue.bma2sma.productInstance}" ref="bma2smaProductInstanceLitener" />
</rabbit:listener-container>