activemq_tuniu_mcs

依赖
<dependency>
  <groupId>org.apache.activemq</groupId>
  <artifactId>activemq-all</artifactId>
</dependency>
<dependency>
  <groupId>org.apache.activemq</groupId>
  <artifactId>activemq-pool</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-jms</artifactId>
</dependency>


生产
new.mq.address=tcp://mcs-master.mq.tuniu.org:61616,tcp://mcs-slave.mq.tuniu.org:61616
<bean id="newCommonFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
  <property name="brokerURL" value="failover://(${new.mq.address})?randomize=false&amp;jms.useAsyncSend=true&amp;jms.prefetchPolicy.queuePrefetch=1"/>
</bean>

<bean id="jmsSearchFactorySender" class="org.springframework.jms.connection.CachingConnectionFactory">
  <property name="targetConnectionFactory" ref="newCommonFactory"/>
  <property name="sessionCacheSize" value="10"/>
</bean>


prd.boss3.search.push = queue.boss3.category.update
<bean id="searchPrdDestination" class="org.apache.activemq.command.ActiveMQQueue">
  <constructor-arg index="0" value="${prd.boss3.search.push}"/>
</bean>

<bean id="queueSearchTemplate" class="org.springframework.jms.core.JmsTemplate">
  <property name="connectionFactory" ref="jmsSearchFactorySender"></property>
  <property name="defaultDestinationName" value="subject"></property>
  <property name="deliveryPersistent" value="true"></property>
  <property name="pubSubDomain" value="false"></property>
  <!-- false p2p,true topic -->
  <property name="sessionAcknowledgeMode" value="1"></property>
  <property name="explicitQosEnabled" value="true"></property>
  <property name="timeToLive" value="604800000"></property>
</bean>

this.queueSearchTemplate.send(searchPrdDestination, new MessageCreator()
{
  public Message createMessage(Session session)
  {
    Message msg = null;
    try
    {
      msg = session.createTextMessage(message);
      
      MQLogUtil.producerLog(message);
    }
    catch (JMSException e)
    {
      LOG.error("===>>  Boss3 err send    JMS.", e);
    }
    return msg;
  }
});


消费
<bean id="newCommonFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
    <property name="brokerURL" value="failover://(${new.mq.address})?randomize=false&amp;jms.useAsyncSend=true&amp;jms.prefetchPolicy.queuePrefetch=1"/>
</bean>

<bean id="jmsResChangeToProductConsumer" class="org.apache.activemq.pool.PooledConnectionFactory">
    <property name="connectionFactory" ref="newCommonFactory" />
</bean> 

res.change.update = queue.res.tourInfo.change
<jms:listener-container connection-factory="jmsResChangeToProductConsumer" destination-type="queue">
  <jms:listener destination="${res.change.update}" ref="ResChangeToProductConsumer" method="onMessage" />
</jms:listener-container>

<bean id="ResChangeToProductConsumer" class="com.tuniu.mcs.product.mq.listener.Boss3MQResChangeToProductConsumer"></bean>

public class Boss3MQResChangeToProductConsumer implements MessageListener {

    @Override
    public void onMessage(Message message){
  
  
  }

}

猜你喜欢

转载自blog.csdn.net/m0_37993453/article/details/81980860