Spring 使用ActiveMQ 收發消息實例

http://jackyin5918.iteye.com/blog/1974197 的示例工程

Spring配置文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
  <!-- 配置ActiveMQ 連接 -->
  <bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
    <property name="brokerURL" value="tcp://localhost:61616" />
    <property name="userName" value="admin" />
    <property name="password" value="password" />
  </bean>
  
  <!-- 可配置ActiveMQ 連接池 需要引入 commons-pool-->
  <bean id="pooledJmsConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory" destroy-method="stop">
    <property name="connectionFactory" ref="jmsConnectionFactory" />
  </bean>
  
  <!-- 配置消息目的地 -->
  <bean id="cscoDest" class="org.apache.activemq.command.ActiveMQTopic">
    <constructor-arg value="STOCKS.CSCO" />
  </bean>
  
  <bean id="orclDest" class="org.apache.activemq.command.ActiveMQTopic">
    <constructor-arg value="STOCKS.ORCL" />
  </bean>
  
  <!-- 配置消息監聽器 -->
  <bean id="portfolioListener" class="com.jackyin.amqSpringClient.Listener"></bean>
  
  <!-- 配置消息監聽器容器 -->
  <!-- Spring DMLC -->
  <bean id="cscoConsumer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
    <property name="connectionFactory" ref="jmsConnectionFactory" />
    <property name="destination" ref="cscoDest" />
    <property name="messageListener" ref="portfolioListener" />
  </bean>
  
  <!-- Spring DMLC -->
  <bean id="orclConsumer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
    <property name="connectionFactory" ref="jmsConnectionFactory" />
    <property name="destination" ref="orclDest" />
    <property name="messageListener" ref="portfolioListener" />
  </bean>
  
  <!-- 發送消息 -->
  <!-- 
    Spring JMS Template 
    template.send(destination, getStockMessageCreator(destination));
    jmsTemplate使用send方法發送消息,該方法需要一個MessageCreator接口實現類
    JmsTemplate需要一個連接工廠.
  -->
  <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
    <property name="connectionFactory" ref="pooledJmsConnectionFactory" />
  </bean>
  
  <bean id="stockPublisher" class="com.jackyin.amqSpringClient.SpringPublisher">
    <property name="template" ref="jmsTemplate" />
    <property name="destinations">
      <list>
        <ref local="cscoDest" />
        <ref local="orclDest" />
      </list>
    </property>
  </bean>

</beans>

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章