You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ta...@apache.org on 2016/09/21 15:18:49 UTC
qpid-jms git commit: QPIDJMS-209 Give the operation a chance to
complete on connection loss.
Repository: qpid-jms
Updated Branches:
refs/heads/master 1daede27c -> 5bc391d01
QPIDJMS-209 Give the operation a chance to complete on connection loss.
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/5bc391d0
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/5bc391d0
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/5bc391d0
Branch: refs/heads/master
Commit: 5bc391d014865384b51fb916fd982a45424aaa51
Parents: 1daede2
Author: Timothy Bish <ta...@gmail.com>
Authored: Wed Sep 21 11:18:25 2016 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Wed Sep 21 11:18:37 2016 -0400
----------------------------------------------------------------------
.../qpid/jms/provider/failover/FailoverProvider.java | 14 +++++++++-----
.../failover/FailoverProviderTestSupport.java | 2 +-
.../apache/qpid/jms/provider/mock/MockRemotePeer.java | 10 ++++++----
3 files changed, 16 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/5bc391d0/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/failover/FailoverProvider.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/failover/FailoverProvider.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/failover/FailoverProvider.java
index 2490b19..7795529 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/failover/FailoverProvider.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/failover/FailoverProvider.java
@@ -460,11 +460,13 @@ public class FailoverProvider extends DefaultProviderListener implements Provide
final FailoverRequest pending = new FailoverRequest(request, requestTimeout) {
@Override
public void doTask() throws Exception {
+ LOG.info("Recover running");
provider.recover(sessionId, this);
}
@Override
public boolean succeedsWhenOffline() {
+ LOG.info("Recover ok to complete due to being offline");
return true;
}
@@ -1080,16 +1082,18 @@ public class FailoverProvider extends DefaultProviderListener implements Provide
}
@Override
- public void onFailure(final Throwable result) {
- if (result instanceof JMSException || closingConnection.get() || closed.get() || failed.get()) {
+ public void onFailure(final Throwable error) {
+ if (error instanceof JMSException || closingConnection.get() || closed.get() || failed.get()) {
requests.remove(id);
- super.onFailure(result);
+ super.onFailure(error);
} else {
- LOG.debug("Request received error: {}", result.getMessage());
+ LOG.debug("Request received error: {}", error.getMessage());
serializer.execute(new Runnable() {
@Override
public void run() {
- handleProviderFailure(IOExceptionSupport.create(result));
+ IOException ioError = IOExceptionSupport.create(error);
+ whenOffline(ioError);
+ handleProviderFailure(ioError);
}
});
}
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/5bc391d0/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverProviderTestSupport.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverProviderTestSupport.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverProviderTestSupport.java
index 7bdbb7e..498f36a 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverProviderTestSupport.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverProviderTestSupport.java
@@ -57,7 +57,7 @@ public class FailoverProviderTestSupport extends QpidJmsTestCase {
@After
public void tearDown() throws Exception {
if (mockPeer != null) {
- mockPeer.shutdown();
+ mockPeer.terminate();
mockPeer = null;
}
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/5bc391d0/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/mock/MockRemotePeer.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/mock/MockRemotePeer.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/mock/MockRemotePeer.java
index f24043d..f9ca714 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/mock/MockRemotePeer.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/mock/MockRemotePeer.java
@@ -104,6 +104,12 @@ public class MockRemotePeer {
MockRemotePeer.INSTANCE = this;
}
+ public void terminate() {
+ shutdown();
+
+ MockRemotePeer.INSTANCE = null;
+ }
+
public void shutdown() {
offline = true;
List<MockProvider> active = new ArrayList<MockProvider>(activeProviders.values());
@@ -112,16 +118,12 @@ public class MockRemotePeer {
}
activeProviders.clear();
lastRegistered = null;
-
- MockRemotePeer.INSTANCE = null;
}
public void shutdownQuietly() {
offline = true;
activeProviders.clear();
lastRegistered = null;
-
- MockRemotePeer.INSTANCE = null;
}
public void silentlyCloseConnectedProviders() {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org