You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ma...@apache.org on 2016/11/30 13:27:45 UTC
[25/27] activemq-artemis git commit: Fix REST Module
QueueServiceManager
Fix REST Module QueueServiceManager
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/ea81ad18
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/ea81ad18
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/ea81ad18
Branch: refs/heads/ARTEMIS-780
Commit: ea81ad182d81e21f6eb3a94cb1911c32a36711a1
Parents: 6ae97b2
Author: Martyn Taylor <mt...@redhat.com>
Authored: Wed Nov 30 12:49:38 2016 +0000
Committer: Martyn Taylor <mt...@redhat.com>
Committed: Wed Nov 30 12:49:38 2016 +0000
----------------------------------------------------------------------
.../artemis/rest/queue/QueueServiceManager.java | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/ea81ad18/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/queue/QueueServiceManager.java
----------------------------------------------------------------------
diff --git a/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/queue/QueueServiceManager.java b/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/queue/QueueServiceManager.java
index a606044..f3efacb 100644
--- a/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/queue/QueueServiceManager.java
+++ b/artemis-rest/src/main/java/org/apache/activemq/artemis/rest/queue/QueueServiceManager.java
@@ -21,6 +21,8 @@ import java.util.List;
import org.apache.activemq.artemis.api.core.SimpleString;
import org.apache.activemq.artemis.api.core.client.ClientSession;
+import org.apache.activemq.artemis.core.server.RoutingType;
+import org.apache.activemq.artemis.core.server.impl.AddressInfo;
import org.apache.activemq.artemis.jms.client.ConnectionFactoryOptions;
import org.apache.activemq.artemis.rest.queue.push.FilePushStore;
import org.apache.activemq.artemis.rest.queue.push.PushStore;
@@ -82,9 +84,16 @@ public class QueueServiceManager extends DestinationServiceManager {
}
String queueName = queueDeployment.getName();
try (ClientSession session = sessionFactory.createSession(false, false, false)) {
- ClientSession.QueueQuery query = session.queueQuery(new SimpleString(queueName));
+ ClientSession.AddressQuery query = session.addressQuery(SimpleString.toSimpleString(queueName));
if (!query.isExists()) {
- session.createQueue(queueName, queueName, queueDeployment.isDurableSend());
+ session.createAddress(SimpleString.toSimpleString(queueName), RoutingType.ANYCAST, true);
+ session.createQueue(SimpleString.toSimpleString(queueName), RoutingType.ANYCAST, SimpleString.toSimpleString(queueName), queueDeployment.isDurableSend());
+ }
+ else {
+ ClientSession.QueueQuery qquery = session.queueQuery(SimpleString.toSimpleString(queueName));
+ if (!qquery.isExists()) {
+ session.createQueue(SimpleString.toSimpleString(queueName), RoutingType.ANYCAST, SimpleString.toSimpleString(queueName), queueDeployment.isDurableSend());
+ }
}
}