activeMQ的疑问 如果系统中还有其他的异步服务

阅读更多
SpringSide中文论坛 » SpringSide深度讨论区 » activeMQ的疑问?

关于activemq部分,有两个疑问,想咨询一下:

1、现在的例子中,是以发送订单邮件为例的,如果系统中还有其他的异步服务,applicationContext-activemq- embedded-persistence.xml该如何配置?Message Driven POJO、listener container需要如何设置呢?监听容器如何设置多个异步服务?

希望得到高手的解答,谢谢!


1.
Q:现在的例子中,是以发送订单邮件为例的,如果系统中还有其他的异步服务?
A:applicationContext-activemq-embedded-persistence.xml 主要是启动内嵌的broker和为jmstemplate 提供连接connectionFactory
  而多个异步服务直接增加多个destination,和producer,然后注入Server即可 参考

xml 代码
  1. <amq:queue name="destination" physicalName="org.apache.activemq.spring.Test.spring.embedded"/>  
  2.   
  3.   
  4. <bean id="orderMessageProducer" class="org.springside.bookstore.components.activemq.OrderMessageProducer">  
  5. <property name="template" ref="jmsTemplate"/>  
  6. <property name="destination" ref="destination"/>  
  7. bean>  

  以及在container里面配置consumer, 这样就可以组成一个完成的异步服务了(发送,接受)。

 

Q:Message Driven POJO、listener container需要如何设置呢?
A:http://wiki.springside.org.cn/display/springside/Home 在我们的wiki里面有详细的配置
  而且使用了Spring和jencks 2种container
  applicationContext-activemq-embedded-persistence.xml
  applicationContext-activemq-embedded-jencks-persistence.xml

Q:监听容器如何设置多个异步服务
 
  多个

xml 代码
  1. <bean id="listenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">  
  2. <property name="connectionFactory" ref="jmsConnectionFactory"/>  
  3. <property name="destination" ref="destination"/>  
  4. <property name="messageListener" ref="messageListener"/>  
  5. bean>  

 
  或者使用jencks管理多个connector
xml 代码
  1.  <jencks:connectors>  
  2.   
  3.     
  4.   <jencks:connector ref="messageListener">  
  5.    <jencks:activationSpec>  
  6.     <amqra:activationSpec destination="org.apache.activemq.spring.Test.spring.embedded"  
  7.            destinationType="javax.jms.Queue"/>  
  8.    jencks:activationSpec>  
  9.   jencks:connector>  
  10. jencks:connectors>  

你可能感兴趣的:(ActiveMQ,Spring,Bean,XML,JMS)