Java (org.apache.qpid.client) XAResourceImpl always returns false for isSameRM
------------------------------------------------------------------------------

                 Key: QPID-3263
                 URL: https://issues.apache.org/jira/browse/QPID-3263
             Project: Qpid
          Issue Type: Bug
          Components: Java Client
    Affects Versions: 0.11
         Environment: All OS/hardware platforms as well as current brokers.
            Reporter: Weston M. Price
             Fix For: 0.11


The isSameRM method of org.apache.qpid.client.XAResourceImpl always returns
false.

The javadoc for isSameRM says ..

"This method is called to determine if the resource manager instance
represented by the target object is the same as the resource manager instance
represented by the parameter xares ."

which means isSameRM has to return true when invoked with identical objects
(Java identity). Clearly, these two XA resources are backed by the same
resource manager.

//xaResource1 == xaResource2
XAResource xaResource1 = jmsXAResource;
XAResource xaResource2 = jmsXAResource;

// xaResource1.isSameRM(xaResource2) should be true

Because the Qpid implementation always returns false, it affects resource
enlistment/delistment.

The source code (lines 213 - 217) of org.apache.qpid.client.XAResourceImpl
suggests that this method has not been fully completed.

public boolean isSameRM(XAResource xaResource) throws XAException
{
// TODO : get the server identity of xaResource and compare it with our own one
return false;
}


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org

Reply via email to