Unwrapped XAResource objects used by JMS JCA consumer classes cause problems with Howl logging ----------------------------------------------------------------------------------------------
Key: SM-1138 URL: https://issues.apache.org/activemq/browse/SM-1138 Project: ServiceMix Issue Type: Bug Components: servicemix-jms Affects Versions: 3.2 Reporter: Craig Muchinsky The org.apache.servicemix.jms.endpoints.JmsJcaConsumerEndpoint and org.apache.servicemix.jms.jca.JcaConsumerProcessor classes both leverage the org.jencks.SingletonEndpointFactory class, however they are not setting the name property, which leads to problems when using journaled JDBC persistence backed by Howl. This manifests itself with the following errors when trying to run the "basic" example with a Jencks connection factory: java.lang.IllegalStateException: Cannot log transactions unles XAResources are named! org.apache.activemq.ra.LocalAndXATransaction A quick and dirty fix that worked for me was to add: ((SingletonEndpointFactory)endpointFactory).setName(""); immediately after the endpointFactory was created in the JmsJcaConsumerEndpoint and JcaConsumerProcessor classes. I'm not sure if setting the name to a blank string is valid, but it does seem to cause the SingletonEndpointFactory to wrap the XAResource objects with a org.apache.geronimo.transaction.manager.WrapperNamedXAResource. Another option might be to modify the Jencks SingletonEndpointFactory class to always default the name to "" internally, but I don't know if that would have negative side effects anywhere else. Related issues: https://issues.apache.org/activemq/browse/SM-622 https://issues.apache.org/activemq/browse/SM-778 -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.