Repository: activemq
Updated Branches:
  refs/heads/trunk 66a689df0 -> 207d4cdee


https://issues.apache.org/jira/browse/AMQ-5080 - revert short circut of recover 
when failover transport is not connected - using 
maxstartupMaxReconnectAttempts=x provides a better alternative. tm recovery 
need not start a managed connection or call getConnection before a call to 
xaresource.recover


Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/207d4cde
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/207d4cde
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/207d4cde

Branch: refs/heads/trunk
Commit: 207d4cdee682b65f3c434b51f440b1b6c28eefbd
Parents: 66a689d
Author: gtully <gary.tu...@gmail.com>
Authored: Mon Jul 28 15:54:12 2014 +0100
Committer: gtully <gary.tu...@gmail.com>
Committed: Mon Jul 28 16:19:20 2014 +0100

----------------------------------------------------------------------
 .../java/org/apache/activemq/TransactionContext.java   | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq/blob/207d4cde/activemq-client/src/main/java/org/apache/activemq/TransactionContext.java
----------------------------------------------------------------------
diff --git 
a/activemq-client/src/main/java/org/apache/activemq/TransactionContext.java 
b/activemq-client/src/main/java/org/apache/activemq/TransactionContext.java
index 8e36ed2..c86f448 100755
--- a/activemq-client/src/main/java/org/apache/activemq/TransactionContext.java
+++ b/activemq-client/src/main/java/org/apache/activemq/TransactionContext.java
@@ -643,20 +643,11 @@ public class TransactionContext implements XAResource {
     }
 
     public Xid[] recover(int flag) throws XAException {
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("Recover: " + flag);
-        }
+        LOG.debug("recover({})", flag);
 
         TransactionInfo info = new TransactionInfo(getConnectionId(), null, 
TransactionInfo.RECOVER);
         try {
             this.connection.checkClosedOrFailed();
-            final FailoverTransport failoverTransport = 
this.connection.getTransport().narrow(FailoverTransport.class);
-            if (failoverTransport != null && !failoverTransport.isConnected()) 
{
-                // otherwise call will block on reconnect forfeting any app 
level periodic check
-                XAException xaException = new XAException("Failover transport 
not connected: " + this.getConnection());
-                xaException.errorCode = XAException.XAER_RMERR;
-                throw xaException;
-            }
             this.connection.ensureConnectionInfoSent();
 
             DataArrayResponse receipt = 
(DataArrayResponse)this.connection.syncSendPacket(info);
@@ -668,7 +659,7 @@ public class TransactionContext implements XAResource {
                 answer = new XATransactionId[data.length];
                 System.arraycopy(data, 0, answer, 0, data.length);
             }
-            LOG.trace("recover({})={}", flag, answer);
+            LOG.debug("recover({})={}", flag, answer);
             return answer;
         } catch (JMSException e) {
             throw toXAException(e);

Reply via email to