applicationContext-jms-email.xml 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. <!-- Spring JMS Template -->
  19. <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
  20. <property name="connectionFactory" ref="cachingConnectionFactory" />
  21. </bean>
  22. <!-- 使用Spring JmsTemplate的消息生产者 -->
  23. <bean id="notifyMessageProducer" class="com.pentair.showcase.jms.email.NotifyMessageProducer">
  24. <property name="jmsTemplate" ref="jmsTemplate" />
  25. <property name="notifyQueue" ref="notifyQueue" />
  26. </bean>
  27. <!-- 异步接收Queue消息Container -->
  28. <bean id="queueContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
  29. <property name="connectionFactory" ref="connectionFactory" />
  30. <property name="destination" ref="notifyQueue" />
  31. <property name="messageListener" ref="notifyMessageListener" />
  32. <property name="concurrentConsumers" value="10" />
  33. </bean>
  34. <!-- 异步接收消息处理类 -->
  35. <bean id="notifyMessageListener" class="com.pentair.showcase.jms.email.NotifyMessageListener" />
  36. </beans>