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 2015/02/17 00:27:04 UTC
[1/3] qpid-jms git commit: Test some TX offline behavior
Repository: qpid-jms
Updated Branches:
refs/heads/master 1ba99d539 -> 289c9ab3d
Test some TX offline behavior
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/fa99c6f8
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/fa99c6f8
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/fa99c6f8
Branch: refs/heads/master
Commit: fa99c6f80e36cea98d2e02b752640850cd953e08
Parents: 1ba99d5
Author: Timothy Bish <ta...@gmail.com>
Authored: Mon Feb 16 15:50:04 2015 -0500
Committer: Timothy Bish <ta...@gmail.com>
Committed: Mon Feb 16 15:50:04 2015 -0500
----------------------------------------------------------------------
.../FailoverProviderOfflineBehaviorTest.java | 48 ++++++++++++++++++++
1 file changed, 48 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/fa99c6f8/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverProviderOfflineBehaviorTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverProviderOfflineBehaviorTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverProviderOfflineBehaviorTest.java
index f60a9ba..1124014 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverProviderOfflineBehaviorTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverProviderOfflineBehaviorTest.java
@@ -16,6 +16,8 @@
*/
package org.apache.qpid.jms.provider.failover;
+import static org.junit.Assert.fail;
+
import java.io.IOException;
import java.net.URI;
import java.util.concurrent.CountDownLatch;
@@ -25,6 +27,7 @@ import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.Session;
+import javax.jms.TransactionRolledBackException;
import org.apache.qpid.jms.JmsConnection;
import org.apache.qpid.jms.JmsConnectionFactory;
@@ -186,6 +189,51 @@ public class FailoverProviderOfflineBehaviorTest extends FailoverProviderTestSup
connection.close();
}
+ @Test(timeout=10000)
+ public void testTransactionCommitFails() throws Exception {
+ connection = (JmsConnection) factory.createConnection();
+ connection.addConnectionListener(new ConnectionInterruptionListener());
+ connection.start();
+
+ Session session = connection.createSession(true, Session.SESSION_TRANSACTED);
+ Queue queue = session.createQueue(_testName.getMethodName());
+ MessageProducer producer = session.createProducer(queue);
+ producer.send(session.createMessage());
+
+ mockPeer.shutdown();
+ connectionInterrupted.await(9, TimeUnit.SECONDS);
+
+ try {
+ session.commit();
+ fail("Should not allow a commit while offline.");
+ } catch (TransactionRolledBackException ex) {}
+
+ connection.close();
+ }
+
+ @Test(timeout=10000)
+ public void testTransactionRollbackSucceeds() throws Exception {
+ connection = (JmsConnection) factory.createConnection();
+ connection.addConnectionListener(new ConnectionInterruptionListener());
+ connection.start();
+
+ Session session = connection.createSession(true, Session.SESSION_TRANSACTED);
+ Queue queue = session.createQueue(_testName.getMethodName());
+ MessageProducer producer = session.createProducer(queue);
+ producer.send(session.createMessage());
+
+ mockPeer.shutdown();
+ connectionInterrupted.await(9, TimeUnit.SECONDS);
+
+ try {
+ session.rollback();
+ } catch (TransactionRolledBackException ex) {
+ fail("Should allow a rollback while offline.");
+ }
+
+ connection.close();
+ }
+
private class ConnectionInterruptionListener implements JmsConnectionListener {
@Override
public void onConnectionInterrupted(URI remoteURI) {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org
[2/3] qpid-jms git commit: Remove setters for values set via
JmsConnectionInfo
Posted by ta...@apache.org.
Remove setters for values set via JmsConnectionInfo
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/ff60cfb9
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/ff60cfb9
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/ff60cfb9
Branch: refs/heads/master
Commit: ff60cfb94a5688ca0b815a2f2ed67c45de288afa
Parents: fa99c6f
Author: Timothy Bish <ta...@gmail.com>
Authored: Mon Feb 16 16:02:05 2015 -0500
Committer: Timothy Bish <ta...@gmail.com>
Committed: Mon Feb 16 16:02:05 2015 -0500
----------------------------------------------------------------------
.../qpid/jms/provider/amqp/AmqpProvider.java | 16 ---------
.../jms/provider/amqp/AmqpProviderTest.java | 5 ---
.../provider/failover/FailoverProviderTest.java | 37 ++++++++++++++++++++
3 files changed, 37 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ff60cfb9/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpProvider.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpProvider.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpProvider.java
index 610682a..d826a4e 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpProvider.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpProvider.java
@@ -839,34 +839,18 @@ public class AmqpProvider implements Provider, TransportListener {
return this.closeTimeout;
}
- public void setCloseTimeout(long closeTimeout) {
- this.closeTimeout = closeTimeout;
- }
-
public long getConnectTimeout() {
return connectTimeout;
}
- public void setConnectTimeout(long connectTimeout) {
- this.connectTimeout = connectTimeout;
- }
-
public long getRequestTimeout() {
return requestTimeout;
}
- public void setRequestTimeout(long requestTimeout) {
- this.requestTimeout = requestTimeout;
- }
-
public long getSendTimeout() {
return sendTimeout;
}
- public void setSendTimeout(long sendTimeout) {
- this.sendTimeout = sendTimeout;
- }
-
public void setPresettle(boolean presettle) {
setPresettleConsumers(presettle);
setPresettleProducers(presettle);
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ff60cfb9/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/AmqpProviderTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/AmqpProviderTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/AmqpProviderTest.java
index df1ced8..0105948 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/AmqpProviderTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/AmqpProviderTest.java
@@ -161,11 +161,6 @@ public class AmqpProviderTest extends QpidJmsTestCase {
provider.connect();
testPeer.expectClose();
- provider.setConnectTimeout(CONNECT_TIMEOUT + 100);
- provider.setCloseTimeout(CLOSE_TIMEOUT + 100);
- provider.setSendTimeout(SEND_TIMEOUT + 100);
- provider.setRequestTimeout(REQUEST_TIMEOUT + 100);
-
JmsConnectionInfo connectionInfo = createConnectionInfo();
connectionInfo.setConnectTimeout(CONNECT_TIMEOUT);
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ff60cfb9/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverProviderTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverProviderTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverProviderTest.java
index 8999930..da9a9c1 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverProviderTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverProviderTest.java
@@ -23,6 +23,7 @@ import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import java.io.IOException;
import java.net.URI;
import java.util.ArrayList;
import java.util.Collections;
@@ -38,6 +39,7 @@ import javax.jms.JMSException;
import javax.jms.Session;
import org.apache.qpid.jms.JmsConnectionFactory;
+import org.apache.qpid.jms.meta.JmsConnectionInfo;
import org.apache.qpid.jms.meta.JmsConsumerInfo;
import org.apache.qpid.jms.meta.JmsProducerInfo;
import org.apache.qpid.jms.meta.JmsSessionInfo;
@@ -331,4 +333,39 @@ public class FailoverProviderTest extends FailoverProviderTestSupport {
assertEquals(1, mockPeer.getContextStats().getUnsubscribeCalls());
}
+
+ @Test(timeout=10000)
+ public void testTimeoutsSetFromConnectionInfo() throws IOException, JMSException {
+ final long CONNECT_TIMEOUT = TimeUnit.SECONDS.toMillis(4);
+ final long CLOSE_TIMEOUT = TimeUnit.SECONDS.toMillis(5);
+ final long SEND_TIMEOUT = TimeUnit.SECONDS.toMillis(6);
+ final long REQUEST_TIMEOUT = TimeUnit.SECONDS.toMillis(7);
+
+ provider = new FailoverProvider(uris, Collections.<String, String>emptyMap());
+ provider.setProviderListener(new DefaultProviderListener() {
+
+ @Override
+ public void onConnectionEstablished(URI remoteURI) {
+ }
+ });
+
+ provider.connect();
+ provider.start();
+
+ JmsConnectionInfo connectionInfo = createConnectionInfo();
+
+ connectionInfo.setConnectTimeout(CONNECT_TIMEOUT);
+ connectionInfo.setCloseTimeout(CLOSE_TIMEOUT);
+ connectionInfo.setSendTimeout(SEND_TIMEOUT);
+ connectionInfo.setRequestTimeout(REQUEST_TIMEOUT);
+
+ ProviderFuture request = new ProviderFuture();
+ provider.create(connectionInfo, request);
+ request.sync();
+
+ assertEquals(CONNECT_TIMEOUT, provider.getConnectTimeout());
+ assertEquals(CLOSE_TIMEOUT, provider.getCloseTimeout());
+ assertEquals(SEND_TIMEOUT, provider.getSendTimeout());
+ assertEquals(REQUEST_TIMEOUT, provider.getRequestTimeout());
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org
[3/3] qpid-jms git commit: Cover reconnect with back off enabled and
a max delay value set.
Posted by ta...@apache.org.
Cover reconnect with back off enabled and a max delay value set.
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/289c9ab3
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/289c9ab3
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/289c9ab3
Branch: refs/heads/master
Commit: 289c9ab3d8ea29b55efd637f250edded137763a3
Parents: ff60cfb
Author: Timothy Bish <ta...@gmail.com>
Authored: Mon Feb 16 16:16:36 2015 -0500
Committer: Timothy Bish <ta...@gmail.com>
Committed: Mon Feb 16 16:16:36 2015 -0500
----------------------------------------------------------------------
.../provider/failover/FailoverProviderTest.java | 24 ++++++++++++++++++++
1 file changed, 24 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/289c9ab3/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverProviderTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverProviderTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverProviderTest.java
index da9a9c1..1a04b32 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverProviderTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverProviderTest.java
@@ -246,6 +246,30 @@ public class FailoverProviderTest extends FailoverProviderTestSupport {
}
@Test(timeout = 30000)
+ public void testMaxReconnectAttemptsWithBackOff() throws Exception {
+ JmsConnectionFactory factory = new JmsConnectionFactory(
+ "failover:(mock://localhost?mock.failOnConnect=true)" +
+ "?failover.maxReconnectAttempts=5" +
+ "&failover.maxReconnectDelay=60" +
+ "&failover.reconnectDelay=10" +
+ "&failover.useReconnectBackOff=true");
+
+ Connection connection = factory.createConnection();
+
+ try {
+ connection.start();
+ fail("Should have stopped after five retries.");
+ } catch (JMSException ex) {
+ } finally {
+ connection.close();
+ }
+
+ assertEquals(5, mockPeer.getContextStats().getProvidersCreated());
+ assertEquals(5, mockPeer.getContextStats().getConnectionAttempts());
+ assertEquals(5, mockPeer.getContextStats().getCloseAttempts());
+ }
+
+ @Test(timeout = 30000)
public void testFailureOnCloseIsSwallowed() throws Exception {
JmsConnectionFactory factory = new JmsConnectionFactory(
"failover:(mock://localhost?mock.failOnClose=true)");
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org