0
        <property name="connectionFactory" ref="jmsConnectionFactory" />
            <property name="destinationResolver" ref="jmsDestResolver" />
            <property name="sessionAcknowledgeModeName" value="CLIENT_ACKNOWLEDGE" />
            <property name="sessionTransacted" value="true" /> 
            </bean> 

We are getting below error.(MQ RA + JBoss EAP). JMSCC0014: It is not valid to call the 'commit' method on a nontransacted session. The application called a method that must not be called on a nontransacted session

<property name="sessionTransacted" value="false" />

is working fine. JBoss config connection factory and queue is shown below. Any suggestion would be highly appreciated. The connection factory is always returning a non transacted session. Is it like there should be multiple connection factories with transacted and non transacted session?

<subsystem xmlns="urn:jboss:domain:resource-adapters:6.0">
            <resource-adapters>
                <resource-adapter id="wmq.jmsra.rar">
                    <archive>
                        wmq.jmsra.rar
                    </archive>
                    <transaction-support>XATransaction</transaction-support>
                    <connection-definitions>
                        <connection-definition class-name="com.ibm.mq.connector.outbound.ManagedConnectionFactoryImpl" jndi-name="java:jboss/xxx" enabled="true" connectable="true" tracking="false" use-java-context="false" pool-name="xxx">
                            <config-property name="channel">xxx</config-property>
                            <config-property name="hostName">xxx</config-property>
                            <config-property name="transportType">CLIENT</config-property>
                            <config-property name="queueManager">xxx</config-property>
                            <config-property name="port">xxx</config-property>
                        </connection-definition>
                      </connection-definitions>
                    <admin-objects>
                        <admin-object class-name="com.ibm.mq.connector.outbound.MQQueueProxy" jndi-name="java:jboss/xxx" pool-name="xxx">
                            <config-property name="baseQueueName">xxx</config-property>
                            <config-property name="baseQueueManagerName">xxx</config-property>
                    </admin-object>
                    </resource-adapter>
            </resource-adapters>
</subsystem>
        
Sanjay
  • 165
  • 1
  • 13
  • Is it possible to post your JBoss server configuration file? – Doug Grove May 01 '23 at 16:57
  • I have updated the post with subsystem section. Please let me know if you need to see any specific section. Thanks – Sanjay May 01 '23 at 17:05
  • I am slightly confused by the way your question is written. At the top you show us config with `` and then you later say `` "is working fine". What setting are you actually using and why? – Morag Hughson May 02 '23 at 01:02
  • I have 2 instances on jmsTemplate. One with sessionTransacted= false which is working fine but other one with sessionTransacted= true is throwing the error. JMSCC0014: It is not valid to call the 'commit' method on a nontransacted session.Thanks – Sanjay May 02 '23 at 03:27
  • That looks fine to me. I'll post again if I can find anything else. – Doug Grove May 09 '23 at 17:58

0 Answers0