spring rabbitmq 整合配置

来源:互联网 发布:网上开淘宝怎么开 编辑:程序博客网 时间:2024/05/21 14:42

以上是我的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>

0 0
原创粉丝点击