applicationContext-jms-simple.xml 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
  4. <description>JMS简单应用配置</description>
  5. <!-- ActiveMQ 连接工厂 -->
  6. <bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
  7. <property name="brokerURL" value="${jms.broker_url}" />
  8. </bean>
  9. <!-- Spring Caching 连接工厂 -->
  10. <bean id="cachingConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
  11. <property name="targetConnectionFactory" ref="connectionFactory" />
  12. <property name="sessionCacheSize" value="10" />
  13. </bean>
  14. <!-- Queue定义 -->
  15. <bean id="notifyQueue" class="org.apache.activemq.command.ActiveMQQueue">
  16. <constructor-arg value="q.notify" />
  17. </bean>
  18. <!-- Topic定义 -->
  19. <bean id="notifyTopic" class="org.apache.activemq.command.ActiveMQTopic">
  20. <constructor-arg value="t.notify" />
  21. </bean>
  22. <!-- Spring JMS Template -->
  23. <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
  24. <property name="connectionFactory" ref="cachingConnectionFactory" />
  25. </bean>
  26. <!-- 使用Spring JmsTemplate的消息生产者 -->
  27. <bean id="notifyMessageProducer" class="com.pentair.showcase.jms.simple.NotifyMessageProducer">
  28. <property name="jmsTemplate" ref="jmsTemplate" />
  29. <property name="notifyQueue" ref="notifyQueue" />
  30. <property name="notifyTopic" ref="notifyTopic" />
  31. </bean>
  32. <!-- 异步接收Queue消息Container -->
  33. <bean id="queueContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
  34. <property name="connectionFactory" ref="connectionFactory" />
  35. <property name="destination" ref="notifyQueue" />
  36. <property name="messageListener" ref="notifyMessageListener" />
  37. <property name="concurrentConsumers" value="10" />
  38. </bean>
  39. <!-- 异步接收Topic消息Container -->
  40. <bean id="topicContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
  41. <property name="connectionFactory" ref="connectionFactory" />
  42. <property name="destination" ref="notifyTopic" />
  43. <property name="messageListener" ref="notifyMessageListener" />
  44. </bean>
  45. <!-- 异步接收消息处理类 -->
  46. <bean id="notifyMessageListener" class="com.pentair.showcase.jms.simple.NotifyMessageListener" />
  47. </beans>