2012-11-15 151 views
0

我springcontext通知XML:JMS队列弹簧

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jee="http://www.springframework.org/schema/jee" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
    http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd"> 
    <bean 
     class="org.springframework.jms.listener.DefaultMessageListenerContainer"> 
     <property name="connectionFactory" ref="notificationJmsConnectionFactory" /> 
     <property name="destinationName" value="${bpm.task.queue}" /> 
     <property name="messageListener" ref="taskMessageReceiver" /> 
     <property name="sessionTransacted" value="true" /> 
     <property name="clientId" value="BPMTaskMessageLisetners" /> 
     <property name="transactionManager" ref="transactionManager" /> 
     <property name="maxConcurrentConsumers" value="${bpm.task.queue.listener.concurrency}" /> 
    </bean> 
    <bean id="taskMessageReceiver" 
     class="com.sterling.ag.jms.impl.TaskMessageListenerImpl"> 
    </bean> 
    <bean id="notificationJmsTemplate" class="org.springframework.jms.core.JmsTemplate"> 
     <property name="connectionFactory" ref="notificationJmsConnectionFactory" /> 
     <property name="sessionTransacted" value="true" /> 
    </bean> 
    <jee:jndi-lookup id="notificationJmsConnectionFactory" 
     jndi-name="java:/JmsXA"> 
     <!-- 
      <jee:environment>java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory</jee:environment> 
     --> 
    </jee:jndi-lookup> 
    <alias name="notificationJmsTemplate" alias="auditJmsTemplate" /> 
    <alias name="notificationJmsTemplate" alias="historyExchangeJmsTemplate" /> 
</beans> 

我已经加入另一个队列。我应该如何在上面的XML中配置它?

回答

1

你需要创建一个单独的容器和监听

<bean 
    class="org.springframework.jms.listener.DefaultMessageListenerContainer"> 
    <property name="connectionFactory" ref="notificationJmsConnectionFactory" /> 
    <property name="destinationName" value="${bpm.task.queue2}" /> 
    <property name="messageListener" ref="taskMessageReceiver2" /> 
    <property name="sessionTransacted" value="true" /> 
    <property name="clientId" value="BPMTaskMessageLisetners" /> 
    <property name="transactionManager" ref="transactionManager" /> 
    <property name="maxConcurrentConsumers" value="${bpm.task.queue.listener.concurrency2}" /> 
</bean> 
<bean id="taskMessageReceiver2" 
    class="com.sterling.ag.jms.impl.TaskMessageListenerImpl2"> 
</bean>