Spring-based JMS Client兑现
Spring-based JMS Client实现
Spring 针对 ActiveMQ提供了许多帮助类,简化了JMS Client 编写。
1. Configuring JMS connections
(1) 配置ActiveMQConnectionFactory:
<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>
(2) 配置池链接以提升性能:PooledConnectionFactory:
<bean id="pooledJmsConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory" destroy-method="stop"> <property name="connectionFactory" ref="jmsConnectionFactory" /> </bean>
PooledConnectionFactory依赖JAR:commons-pool.
2. Configuring JMS destinations
<bean id="cscoDest" class="org.apache.activemq.command.ActiveMQTopic"> <constructor-arg value="STOCKS.CSCO" /> </bean>
3. Creating JMS consumers
<!-- The message listener --> <bean id="portfolioListener" class="org.apache.activemq.book.ch3.portfolio.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>
4. Creating JMS producers
JMS publisher configuration in Spring:
<!-- Spring JMS Template --> <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"> <property name="connectionFactory" ref="pooledJmsConnectionFactory" /> </bean> <bean id="stockPublisher" class="org.apache.activemq.book.ch7.spring.SpringPublisher"> <property name="template" ref="jmsTemplate" /> <property name="destinations"> <list> <ref local="cscoDest" /> <ref local="orclDest" /> </list> </property> </bean>