spring rabbitmq 整合配置
2016-05-14 15:05
507 查看
以上是我的applicationContext-mq.xml 配置(对一些名称有一些手动的修改 因为有些不该出现的东东.so 希望亲人们在参考的时候注意下名称关联关系是否统一)
<rabbit:connection-factory id="connectionFactory" host="${mq.host}" username="${mq.user_name}" password="${mq.pwd}" port="${mq.port}" />
<rabbit:admin connection-factory="connectionFactory"/>
<!-- queue 队列声明 name属性就是 queen 的 name -->
<!-- <rabbit:queue id="queue_one" durable="true" auto-delete="false" exclusive="false" name="queue_one_name" /> -->
<rabbit:queue id="act_result_pc_queue" durable="true" auto-delete="false" exclusive="false" name="act_result_pc_queue" />
<rabbit:queue id="act_result_mobile_queue" durable="true" auto-delete="false" exclusive="false" name="act_result_mobile_queue" />
<rabbit:queue id="act_regist_queue" durable="true" auto-delete="false" exclusive="false" name="act_regist_queue" />
<rabbit:queue id="act_login_queue" durable="true" auto-delete="false" exclusive="false" name="act_login_queue" />
<rabbit:queue id="act_investment_queue" durable="true" auto-delete="false" exclusive="false" name="act_investment_queue" />
<!-- exchange queue binging key 绑定 -->
<!-- <rabbit:direct-exchange name="my-mq-exchange" durable="true" auto-delete="false" id="my-mq-exchange" > -->
<!-- <rabbit:bindings> -->
<!-- <rabbit:binding queue="queue_one" key="queue_one_key" /> -->
<!-- </rabbit:bindings> -->
<!-- </rabbit:direct-exchange> -->
<rabbit:topic-exchange name="act_send_result_exchange" durable="true" auto-delete="false" id="act_send_result_exchange" >
<rabbit:bindings>
<rabbit:binding queue="act_result_pc_queue" pattern="act_result_pc.*" />
<rabbit:binding queue="act_result_mobile_queue" pattern="act_result_mobile.*.*" />
</rabbit:bindings>
</rabbit:topic-exchange>
<!-- rabbit:topic-exchange topic rabbit:direct-exchange queue-->
<rabbit:topic-exchange name="act_get_reward_exchange" durable="true" auto-delete="false" id="act_get_reward_exchange" >
<rabbit:bindings>
<rabbit:binding queue="act_regist_queue" pattern="act.regist.*.*" />
<rabbit:binding queue="act_login_queue" pattern="act.login.*.*" />
<rabbit:binding queue="act_investment_queue" pattern="act.investment.*.*" />
</rabbit:bindings>
</rabbit:topic-exchange>
<!-- spring amqp默认的是jackson 的一个插件,目的将生产者生产的数据转换为json存入消息队列,由于fastjson的速度快于jackson,这里替换为fastjson的一个实现 -->
<bean id="jsonMessageConverter" name="jsonMessageConverter" class="com.eloan.act.mq.converter.JsonMessageConverter"/>
<bean id="registMessageListener" name="registMessageListener" class="com.*.act.mq.listener.RegistMessageListener"/>
<bean id="loginMessageListener" name="loginMessageListener" class="com.*.act.mq.listener.LoginMessageListener"/>
<bean id="investmentMessageListener" name="investmentMessageListener" class="com.*.act.mq.listener.InvestmentMessageListener"/>
<!-- spring template声明 -->
<rabbit:template exchange="act_send_result_exchange" id="amqpTemplate" connection-factory="connectionFactory" message-converter="jsonMessageConverter" />
<!-- queue litener 观察 监听模式 当有消息到达时会通知监听在对应的队列上的监听对象 task-executor="taskExecutor" -->
<rabbit:listener-container connection-factory="connectionFactory" acknowledge="auto" >
<!-- <rabbit:listener queues="queue_one" ref="mqMessageListener"/> -->
<rabbit:listener queues="act_r_queue" ref="registMessageListener"/>
<rabbit:listener queues="act_l_queue" ref="loginMessageListener"/>
<rabbit:listener queues="act_i_queue" ref="investmentMessageListener"/>
</rabbit:listener-container>
<rabbit:connection-factory id="connectionFactory" host="${mq.host}" username="${mq.user_name}" password="${mq.pwd}" port="${mq.port}" />
<rabbit:admin connection-factory="connectionFactory"/>
<!-- queue 队列声明 name属性就是 queen 的 name -->
<!-- <rabbit:queue id="queue_one" durable="true" auto-delete="false" exclusive="false" name="queue_one_name" /> -->
<rabbit:queue id="act_result_pc_queue" durable="true" auto-delete="false" exclusive="false" name="act_result_pc_queue" />
<rabbit:queue id="act_result_mobile_queue" durable="true" auto-delete="false" exclusive="false" name="act_result_mobile_queue" />
<rabbit:queue id="act_regist_queue" durable="true" auto-delete="false" exclusive="false" name="act_regist_queue" />
<rabbit:queue id="act_login_queue" durable="true" auto-delete="false" exclusive="false" name="act_login_queue" />
<rabbit:queue id="act_investment_queue" durable="true" auto-delete="false" exclusive="false" name="act_investment_queue" />
<!-- exchange queue binging key 绑定 -->
<!-- <rabbit:direct-exchange name="my-mq-exchange" durable="true" auto-delete="false" id="my-mq-exchange" > -->
<!-- <rabbit:bindings> -->
<!-- <rabbit:binding queue="queue_one" key="queue_one_key" /> -->
<!-- </rabbit:bindings> -->
<!-- </rabbit:direct-exchange> -->
<rabbit:topic-exchange name="act_send_result_exchange" durable="true" auto-delete="false" id="act_send_result_exchange" >
<rabbit:bindings>
<rabbit:binding queue="act_result_pc_queue" pattern="act_result_pc.*" />
<rabbit:binding queue="act_result_mobile_queue" pattern="act_result_mobile.*.*" />
</rabbit:bindings>
</rabbit:topic-exchange>
<!-- rabbit:topic-exchange topic rabbit:direct-exchange queue-->
<rabbit:topic-exchange name="act_get_reward_exchange" durable="true" auto-delete="false" id="act_get_reward_exchange" >
<rabbit:bindings>
<rabbit:binding queue="act_regist_queue" pattern="act.regist.*.*" />
<rabbit:binding queue="act_login_queue" pattern="act.login.*.*" />
<rabbit:binding queue="act_investment_queue" pattern="act.investment.*.*" />
</rabbit:bindings>
</rabbit:topic-exchange>
<!-- spring amqp默认的是jackson 的一个插件,目的将生产者生产的数据转换为json存入消息队列,由于fastjson的速度快于jackson,这里替换为fastjson的一个实现 -->
<bean id="jsonMessageConverter" name="jsonMessageConverter" class="com.eloan.act.mq.converter.JsonMessageConverter"/>
<bean id="registMessageListener" name="registMessageListener" class="com.*.act.mq.listener.RegistMessageListener"/>
<bean id="loginMessageListener" name="loginMessageListener" class="com.*.act.mq.listener.LoginMessageListener"/>
<bean id="investmentMessageListener" name="investmentMessageListener" class="com.*.act.mq.listener.InvestmentMessageListener"/>
<!-- spring template声明 -->
<rabbit:template exchange="act_send_result_exchange" id="amqpTemplate" connection-factory="connectionFactory" message-converter="jsonMessageConverter" />
<!-- queue litener 观察 监听模式 当有消息到达时会通知监听在对应的队列上的监听对象 task-executor="taskExecutor" -->
<rabbit:listener-container connection-factory="connectionFactory" acknowledge="auto" >
<!-- <rabbit:listener queues="queue_one" ref="mqMessageListener"/> -->
<rabbit:listener queues="act_r_queue" ref="registMessageListener"/>
<rabbit:listener queues="act_l_queue" ref="loginMessageListener"/>
<rabbit:listener queues="act_i_queue" ref="investmentMessageListener"/>
</rabbit:listener-container>
相关文章推荐
- 一个jar包里的网站
- 一个jar包里的网站之文件上传
- 一个jar包里的网站之返回对媒体类型
- Spring和ThreadLocal
- Spring Boot 开发微服务
- Rabbitmq集群搭建笔记
- Spring整合Quartz(JobDetailBean方式)
- Spring整合Quartz(JobDetailBean方式)
- 模拟Spring的简单实现
- Spring整合WebSocket应用示例(上)
- spring+html5实现安全传输随机数字密码键盘
- Spring中属性注入详解
- springmvc 发送ajax出现中文乱码的解决方法汇总
- SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
- struts2 spring整合fieldError问题
- spring的jdbctemplate的crud的基类dao
- 读取spring配置文件的方法(spring读取资源文件)
- Spring Bean基本管理实例详解
- java实现简单美女拼图游戏
- 详解Java的Spring框架中的事务管理方式