You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cl...@apache.org on 2015/09/18 04:13:35 UTC
[1/2] activemq-artemis git commit: ARTEMIS-225 validate clientID is
set for durable sub
Repository: activemq-artemis
Updated Branches:
refs/heads/master bb2c89080 -> 0a3ec0f4d
ARTEMIS-225 validate clientID is set for durable sub
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/1c933cfb
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/1c933cfb
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/1c933cfb
Branch: refs/heads/master
Commit: 1c933cfbaeae6518e2fcf55bcb58f3b714f04370
Parents: bb2c890
Author: jbertram <jb...@apache.org>
Authored: Thu Sep 17 15:46:18 2015 -0500
Committer: jbertram <jb...@apache.org>
Committed: Thu Sep 17 15:46:18 2015 -0500
----------------------------------------------------------------------
.../ra/inflow/ActiveMQActivationSpec.java | 5 ++
.../ra/ActiveMQMessageHandlerTest.java | 59 ++++++++++++++++++++
2 files changed, 64 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/1c933cfb/artemis-ra/src/main/java/org/apache/activemq/artemis/ra/inflow/ActiveMQActivationSpec.java
----------------------------------------------------------------------
diff --git a/artemis-ra/src/main/java/org/apache/activemq/artemis/ra/inflow/ActiveMQActivationSpec.java b/artemis-ra/src/main/java/org/apache/activemq/artemis/ra/inflow/ActiveMQActivationSpec.java
index f80342b..0b46b20 100644
--- a/artemis-ra/src/main/java/org/apache/activemq/artemis/ra/inflow/ActiveMQActivationSpec.java
+++ b/artemis-ra/src/main/java/org/apache/activemq/artemis/ra/inflow/ActiveMQActivationSpec.java
@@ -696,6 +696,11 @@ public class ActiveMQActivationSpec extends ConnectionFactoryProperties implemen
propsNotSet.add(new PropertyDescriptor("subscriptionName", ActiveMQActivationSpec.class));
errorMessages.add("If subscription is durable then subscription name must be specified.");
}
+
+ if ((isSubscriptionDurable() && getClientID() == null) || (isSubscriptionDurable() && getClientID() != null && getClientID().length() == 0)) {
+ propsNotSet.add(new PropertyDescriptor("clientID", ActiveMQActivationSpec.class));
+ errorMessages.add("If subscription is durable then clientID must be specified.");
+ }
}
catch (IntrospectionException e) {
e.printStackTrace();
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/1c933cfb/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQMessageHandlerTest.java
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQMessageHandlerTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQMessageHandlerTest.java
index a5636cf..7f94f81 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQMessageHandlerTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/ra/ActiveMQMessageHandlerTest.java
@@ -715,6 +715,65 @@ public class ActiveMQMessageHandlerTest extends ActiveMQRATestBase {
}
@Test
+ public void testNullClientID() throws Exception {
+ ActiveMQResourceAdapter qResourceAdapter = newResourceAdapter();
+ MyBootstrapContext ctx = new MyBootstrapContext();
+ qResourceAdapter.start(ctx);
+
+ ActiveMQActivationSpec spec = new ActiveMQActivationSpec();
+ spec.setResourceAdapter(qResourceAdapter);
+ spec.setUseJNDI(false);
+ spec.setDestination("mdbTopic");
+ spec.setSubscriptionDurability("Durable");
+ spec.setSubscriptionName("sub");
+ spec.setSetupAttempts(1);
+ spec.setShareSubscriptions(true);
+ spec.setMaxSession(1);
+
+ CountDownLatch latch = new CountDownLatch(5);
+ DummyMessageEndpoint endpoint = new DummyMessageEndpoint(latch);
+ DummyMessageEndpointFactory endpointFactory = new DummyMessageEndpointFactory(endpoint, false);
+ try {
+ qResourceAdapter.endpointActivation(endpointFactory, spec);
+ fail();
+ }
+ catch (Exception e) {
+ assertTrue(e instanceof InvalidPropertyException);
+ assertEquals("clientID", ((InvalidPropertyException) e).getInvalidPropertyDescriptors()[0].getName());
+ }
+ }
+
+ @Test
+ public void testEmptyClientID() throws Exception {
+ ActiveMQResourceAdapter qResourceAdapter = newResourceAdapter();
+ MyBootstrapContext ctx = new MyBootstrapContext();
+ qResourceAdapter.start(ctx);
+
+ ActiveMQActivationSpec spec = new ActiveMQActivationSpec();
+ spec.setResourceAdapter(qResourceAdapter);
+ spec.setUseJNDI(false);
+ spec.setDestination("mdbTopic");
+ spec.setSubscriptionDurability("Durable");
+ spec.setSubscriptionName("sub");
+ spec.setClientID("");
+ spec.setSetupAttempts(1);
+ spec.setShareSubscriptions(true);
+ spec.setMaxSession(1);
+
+ CountDownLatch latch = new CountDownLatch(5);
+ DummyMessageEndpoint endpoint = new DummyMessageEndpoint(latch);
+ DummyMessageEndpointFactory endpointFactory = new DummyMessageEndpointFactory(endpoint, false);
+ try {
+ qResourceAdapter.endpointActivation(endpointFactory, spec);
+ fail();
+ }
+ catch (Exception e) {
+ assertTrue(e instanceof InvalidPropertyException);
+ assertEquals("clientID", ((InvalidPropertyException) e).getInvalidPropertyDescriptors()[0].getName());
+ }
+ }
+
+ @Test
public void testBadDestinationType() throws Exception {
ActiveMQResourceAdapter qResourceAdapter = newResourceAdapter();
MyBootstrapContext ctx = new MyBootstrapContext();
[2/2] activemq-artemis git commit: This closes #171
Posted by cl...@apache.org.
This closes #171
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/0a3ec0f4
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/0a3ec0f4
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/0a3ec0f4
Branch: refs/heads/master
Commit: 0a3ec0f4dad45da81238d98c30b3dc9045736fca
Parents: bb2c890 1c933cf
Author: Clebert Suconic <cl...@apache.org>
Authored: Thu Sep 17 22:13:25 2015 -0400
Committer: Clebert Suconic <cl...@apache.org>
Committed: Thu Sep 17 22:13:25 2015 -0400
----------------------------------------------------------------------
.../ra/inflow/ActiveMQActivationSpec.java | 5 ++
.../ra/ActiveMQMessageHandlerTest.java | 59 ++++++++++++++++++++
2 files changed, 64 insertions(+)
----------------------------------------------------------------------