I'm using spring-jms-3.0.6.RELEASE and open MQ. Any ideas on why the below exception would be raise?
2012-05-02 17:56:18,420 [stuJmsContainer-803059] WARN
org.springframework.jms.listener.DefaultMessageLis tenerContainer - Setup of JMS message listener invoker failed for destination
'TestQ' - trying to recover. Cause:
MQRA:CA:createSession failed-Only one JMS Session allowed when managed connection is involved in a transaction
web.xml:
testlistener-context-api.xml:Code:<context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:/spring/testlistener-context-api.xml classpath:/spring/testmsg-context-api.xml </param-value> </context-param> <listener> <listener-class>org.jboss.resteasy.plugins.spring.SpringContextLoaderListener</listener-class> </listener> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener> <listener> <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> </listener>
testmsg-context-api.xml:Code:<?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:util="http://www.springframework.org/schema/util" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"> <tx:annotation-driven /> <bean id="testListener" class="com.test.TestListener" /> <bean id="executionInterceptor" class="com.test.ExecutionInterceptor" /> <bean id="testJmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer"> <property name="connectionFactory" ref="jmsQueueConnectionFactory"/> <property name="destinationName" value="TestQ"/> <property name="sessionTransacted" value="false"/> <property name="messageListener" ref="stuMessageListener" /> <property name="concurrentConsumers" value="5" /> <property name="maxConcurrentConsumers" value="100" /> <property name="receiveTimeout" value="30000" /> </bean> </beans>
Code:<?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:util="http://www.springframework.org/schema/util" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"> <bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate"/> <bean id="jmsQueueConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiTemplate"> <ref bean="jndiTemplate"/> </property> <property name="jndiName" value="${jms.jndi.qconnectionfactory}"> </property> </bean> <bean id="jmsTopicConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiTemplate"> <ref bean="jndiTemplate"/> </property> <property name="jndiName" value="${jms.jndi.tconnectionfactory}"> </property> </bean> <bean id="myJMSConnectionFactory" class="com.test.OpenMqConnectionFactoryBean"> <property name="imqAddressList" value="${jms.imq.url}" /> <property name="imqDefaultUsername" value="${jms.imq.user}" /> <property name="imqDefaultPassword" value="${jms.imq.password}" /> <property name="imqHost" value="${jms.imq.host}" /> <property name="imqPort" value="${jms.imq.port}" /> </bean> <bean id="jmsTopicTemplate" class="com.test.CustomJMSTemplate"> <property name="connectionFactory" ref="jmsTopicConnectionFactory" /> <property name="connectionFactoryName" value="${jms.jndi.tconnectionfactory}"/> <property name="pubSubDomain" value="true" /> </bean> <bean id="jmsTemplate" class="com.test.CustomJMSTemplate"> <property name="connectionFactory" ref="jmsQueueConnectionFactory" /> <property name="connectionFactoryName" value="${jms.jndi.qconnectionfactory}"/> </bean> <tx:annotation-driven /> </beans>


Reply With Quote
