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:35 UTC
[15/27] activemq-artemis git commit: Clean up usage of
HDR_ROUTING_TYPE; fix JMS tests
Clean up usage of HDR_ROUTING_TYPE; fix JMS tests
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/ebf14506
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/ebf14506
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/ebf14506
Branch: refs/heads/ARTEMIS-780
Commit: ebf14506321c0d745c0cef9fdbe0d8b0eb600e43
Parents: 1378376
Author: jbertram <jb...@apache.com>
Authored: Tue Nov 29 15:00:44 2016 -0600
Committer: jbertram <jb...@apache.com>
Committed: Tue Nov 29 15:00:44 2016 -0600
----------------------------------------------------------------------
.../activemq/artemis/reader/MessageUtil.java | 13 ++++++++++---
.../artemis/jms/client/ActiveMQMessage.java | 18 +++++++++++-------
.../jms/client/ActiveMQMessageConsumer.java | 2 --
.../jms/client/ActiveMQMessageProducer.java | 3 +--
.../artemis/jms/client/ActiveMQQueue.java | 15 +++++++++++++++
.../jms/client/ActiveMQTemporaryQueue.java | 15 +++++++++++++++
.../jms/client/ActiveMQTemporaryTopic.java | 15 +++++++++++++++
.../artemis/jms/client/ActiveMQTopic.java | 15 +++++++++++++++
.../core/postoffice/impl/LocalQueueBinding.java | 6 +++---
9 files changed, 85 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/ebf14506/artemis-core-client/src/main/java/org/apache/activemq/artemis/reader/MessageUtil.java
----------------------------------------------------------------------
diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/reader/MessageUtil.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/reader/MessageUtil.java
index 09b1902..9d37cd3 100644
--- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/reader/MessageUtil.java
+++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/reader/MessageUtil.java
@@ -120,12 +120,19 @@ public class MessageUtil {
}
public static void clearProperties(Message message) {
+ /**
+ * JavaDoc for this method states:
+ * Clears a message's properties.
+ * The message's header fields and body are not cleared.
+ *
+ * Since the {@code Message.HDR_ROUTING_TYPE} is used for the JMSDestination header it isn't cleared
+ */
List<SimpleString> toRemove = new ArrayList<>();
for (SimpleString propName : message.getPropertyNames()) {
- if (!propName.startsWith(JMS) || propName.startsWith(JMSX) ||
- propName.startsWith(JMS_)) {
+ if ((!propName.startsWith(JMS) || propName.startsWith(JMSX) ||
+ propName.startsWith(JMS_)) && !propName.equals(Message.HDR_ROUTING_TYPE)) {
toRemove.add(propName);
}
}
@@ -140,7 +147,7 @@ public class MessageUtil {
for (SimpleString propName : message.getPropertyNames()) {
if ((!propName.startsWith(JMS) || propName.startsWith(JMSX) ||
- propName.startsWith(JMS_)) && !propName.startsWith(CONNECTION_ID_PROPERTY_NAME)) {
+ propName.startsWith(JMS_)) && !propName.startsWith(CONNECTION_ID_PROPERTY_NAME) && !propName.equals(Message.HDR_ROUTING_TYPE)) {
set.add(propName.toString());
}
}
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/ebf14506/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessage.java
----------------------------------------------------------------------
diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessage.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessage.java
index 283f958..4f0be81 100644
--- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessage.java
+++ b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessage.java
@@ -44,6 +44,7 @@ import org.apache.activemq.artemis.api.core.client.ClientMessage;
import org.apache.activemq.artemis.api.core.client.ClientSession;
import org.apache.activemq.artemis.api.jms.ActiveMQJMSConstants;
import org.apache.activemq.artemis.core.message.impl.MessageInternal;
+import org.apache.activemq.artemis.core.server.RoutingType;
import org.apache.activemq.artemis.reader.MessageUtil;
import org.apache.activemq.artemis.utils.UUID;
@@ -201,8 +202,6 @@ public class ActiveMQMessage implements javax.jms.Message {
private long jmsDeliveryTime;
- private boolean fromQueue;
-
// Constructors --------------------------------------------------
/*
@@ -399,8 +398,17 @@ public class ActiveMQMessage implements javax.jms.Message {
public Destination getJMSDestination() throws JMSException {
if (dest == null) {
SimpleString address = message.getAddress();
+ String prefix = "";
+ if (message.containsProperty(org.apache.activemq.artemis.api.core.Message.HDR_ROUTING_TYPE)) {
+ RoutingType routingType = RoutingType.getType(message.getByteProperty(org.apache.activemq.artemis.api.core.Message.HDR_ROUTING_TYPE));
+ if (routingType.equals(RoutingType.ANYCAST)) {
+ prefix = QUEUE_QUALIFIED_PREFIX;
+ } else if (routingType.equals(RoutingType.MULTICAST)) {
+ prefix = TOPIC_QUALIFIED_PREFIX;
+ }
+ }
- dest = address == null ? null : ActiveMQDestination.fromPrefixedName((fromQueue ? QUEUE_QUALIFIED_PREFIX : TOPIC_QUALIFIED_PREFIX) + address.toString());
+ dest = address == null ? null : ActiveMQDestination.fromPrefixedName(prefix + address.toString());
}
return dest;
@@ -779,10 +787,6 @@ public class ActiveMQMessage implements javax.jms.Message {
// Public --------------------------------------------------------
- public void setFromQueue(boolean fromQueue) {
- this.fromQueue = fromQueue;
- }
-
public void setIndividualAcknowledge() {
this.individualAck = true;
}
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/ebf14506/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessageConsumer.java
----------------------------------------------------------------------
diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessageConsumer.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessageConsumer.java
index b449aea..8bc1fd8 100644
--- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessageConsumer.java
+++ b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessageConsumer.java
@@ -240,8 +240,6 @@ public final class ActiveMQMessageConsumer implements QueueReceiver, TopicSubscr
} else {
coreMessage.acknowledge();
}
-
- jmsMsg.setFromQueue(destination instanceof ActiveMQQueue);
}
return jmsMsg;
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/ebf14506/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessageProducer.java
----------------------------------------------------------------------
diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessageProducer.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessageProducer.java
index aa4754b..4c1d335 100644
--- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessageProducer.java
+++ b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQMessageProducer.java
@@ -41,7 +41,6 @@ import org.apache.activemq.artemis.api.core.client.ClientMessage;
import org.apache.activemq.artemis.api.core.client.ClientProducer;
import org.apache.activemq.artemis.api.core.client.ClientSession;
import org.apache.activemq.artemis.api.core.client.SendAcknowledgementHandler;
-import org.apache.activemq.artemis.core.message.impl.MessageImpl;
import org.apache.activemq.artemis.core.server.RoutingType;
import org.apache.activemq.artemis.utils.UUID;
import org.apache.activemq.artemis.utils.UUIDGenerator;
@@ -493,7 +492,7 @@ public class ActiveMQMessageProducer implements MessageProducer, QueueSender, To
coreMessage.putStringProperty(ActiveMQConnection.CONNECTION_ID_PROPERTY_NAME, connID);
byte routingType = destination.isQueue() ? RoutingType.ANYCAST.getType() : RoutingType.MULTICAST.getType();
- coreMessage.putByteProperty(MessageImpl.HDR_ROUTING_TYPE, routingType);
+ coreMessage.putByteProperty(org.apache.activemq.artemis.api.core.Message.HDR_ROUTING_TYPE, routingType);
try {
/**
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/ebf14506/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQQueue.java
----------------------------------------------------------------------
diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQQueue.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQQueue.java
index 2632dae..883a71d 100644
--- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQQueue.java
+++ b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQQueue.java
@@ -76,6 +76,21 @@ public class ActiveMQQueue extends ActiveMQDestination implements Queue {
return "ActiveMQQueue[" + name + "]";
}
+ @Override
+ public boolean equals(final Object o) {
+ if (this == o) {
+ return true;
+ }
+
+ if (!(o instanceof ActiveMQQueue)) {
+ return false;
+ }
+
+ ActiveMQQueue that = (ActiveMQQueue) o;
+
+ return super.getAddress().equals(that.getAddress());
+ }
+
// Package protected ---------------------------------------------
// Protected -----------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/ebf14506/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQTemporaryQueue.java
----------------------------------------------------------------------
diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQTemporaryQueue.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQTemporaryQueue.java
index fa01409..daae8ed 100644
--- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQTemporaryQueue.java
+++ b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQTemporaryQueue.java
@@ -52,6 +52,21 @@ public class ActiveMQTemporaryQueue extends ActiveMQQueue implements TemporaryQu
return "ActiveMQTemporaryQueue[" + name + "]";
}
+ @Override
+ public boolean equals(final Object o) {
+ if (this == o) {
+ return true;
+ }
+
+ if (!(o instanceof ActiveMQTemporaryQueue)) {
+ return false;
+ }
+
+ ActiveMQTemporaryQueue that = (ActiveMQTemporaryQueue) o;
+
+ return super.getAddress().equals(that.getAddress());
+ }
+
// Package protected ---------------------------------------------
// Protected -----------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/ebf14506/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQTemporaryTopic.java
----------------------------------------------------------------------
diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQTemporaryTopic.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQTemporaryTopic.java
index 07c3ec9..4cccb81 100644
--- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQTemporaryTopic.java
+++ b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQTemporaryTopic.java
@@ -36,6 +36,21 @@ public class ActiveMQTemporaryTopic extends ActiveMQTopic implements TemporaryTo
// Public --------------------------------------------------------
+ @Override
+ public boolean equals(final Object o) {
+ if (this == o) {
+ return true;
+ }
+
+ if (!(o instanceof ActiveMQTemporaryTopic)) {
+ return false;
+ }
+
+ ActiveMQTemporaryTopic that = (ActiveMQTemporaryTopic) o;
+
+ return super.getAddress().equals(that.getAddress());
+ }
+
// Package protected ---------------------------------------------
// Protected -----------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/ebf14506/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQTopic.java
----------------------------------------------------------------------
diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQTopic.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQTopic.java
index 5ffd918..e251e6a 100644
--- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQTopic.java
+++ b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQTopic.java
@@ -71,6 +71,21 @@ public class ActiveMQTopic extends ActiveMQDestination implements Topic {
return "ActiveMQTopic[" + name + "]";
}
+ @Override
+ public boolean equals(final Object o) {
+ if (this == o) {
+ return true;
+ }
+
+ if (!(o instanceof ActiveMQTopic)) {
+ return false;
+ }
+
+ ActiveMQTopic that = (ActiveMQTopic) o;
+
+ return super.getAddress().equals(that.getAddress());
+ }
+
// Package protected ---------------------------------------------
// Protected -----------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/ebf14506/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/LocalQueueBinding.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/LocalQueueBinding.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/LocalQueueBinding.java
index fb025af..e09d108 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/LocalQueueBinding.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/LocalQueueBinding.java
@@ -16,9 +16,9 @@
*/
package org.apache.activemq.artemis.core.postoffice.impl;
+import org.apache.activemq.artemis.api.core.Message;
import org.apache.activemq.artemis.api.core.SimpleString;
import org.apache.activemq.artemis.core.filter.Filter;
-import org.apache.activemq.artemis.core.message.impl.MessageInternal;
import org.apache.activemq.artemis.core.postoffice.BindingType;
import org.apache.activemq.artemis.core.postoffice.QueueBinding;
import org.apache.activemq.artemis.core.server.Bindable;
@@ -131,8 +131,8 @@ public class LocalQueueBinding implements QueueBinding {
}
private boolean isMatchRoutingType(ServerMessage message) {
- if (message.containsProperty(MessageInternal.HDR_ROUTING_TYPE)) {
- return message.getByteProperty(MessageInternal.HDR_ROUTING_TYPE).equals(queue.getRoutingType().getType());
+ if (message.containsProperty(Message.HDR_ROUTING_TYPE)) {
+ return message.getByteProperty(Message.HDR_ROUTING_TYPE).equals(queue.getRoutingType().getType());
}
return true;
}