You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "David Jencks (JIRA)" <ji...@apache.org> on 2007/11/21 23:49:27 UTC

[jira] Commented: (SM-1138) Unwrapped XAResource objects used by JMS JCA consumer classes cause problems with Howl logging

    [ https://issues.apache.org/activemq/browse/SM-1138?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_40678 ] 

David Jencks commented on SM-1138:
----------------------------------

I really recommend against using "" as the name.  Is there really no name you can use for the xaresource?  the main constraint is that when you restart everything after a crash the name for a given resource manager should be the same as before the crash.

> 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.