diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat/CreateQueueMessage_V2.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat/CreateQueueMessage_V2.java index 4ffeb5ca84..baccc367c4 100644 --- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat/CreateQueueMessage_V2.java +++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat/CreateQueueMessage_V2.java @@ -182,9 +182,15 @@ public class CreateQueueMessage_V2 extends CreateQueueMessage { return false; if (purgeOnNoConsumers != other.purgeOnNoConsumers) return false; - if (exclusive != other.exclusive) + if (exclusive == null) { + if (other.exclusive != null) + return false; + } else if (!exclusive.equals(other.exclusive)) return false; - if (lastValue != other.lastValue) + if (lastValue == null) { + if (other.lastValue != null) + return false; + } else if (!lastValue.equals(other.lastValue)) return false; if (routingType == null) { if (other.routingType != null) diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat/CreateSharedQueueMessage_V2.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat/CreateSharedQueueMessage_V2.java index 87630434fb..d220915581 100644 --- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat/CreateSharedQueueMessage_V2.java +++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat/CreateSharedQueueMessage_V2.java @@ -192,13 +192,25 @@ public class CreateSharedQueueMessage_V2 extends CreateSharedQueueMessage { return false; if (requiresResponse != other.requiresResponse) return false; - if (maxConsumers != other.maxConsumers) + if (maxConsumers == null) { + if (other.maxConsumers != null) + return false; + } else if (!maxConsumers.equals(other.maxConsumers)) return false; - if (purgeOnNoConsumers != other.purgeOnNoConsumers) + if (purgeOnNoConsumers == null) { + if (other.purgeOnNoConsumers != null) + return false; + } else if (!purgeOnNoConsumers.equals(other.purgeOnNoConsumers)) return false; - if (exclusive != other.exclusive) + if (exclusive == null) { + if (other.exclusive != null) + return false; + } else if (!exclusive.equals(other.exclusive)) return false; - if (lastValue != other.lastValue) + if (lastValue == null) { + if (other.lastValue != null) + return false; + } else if (!lastValue.equals(other.lastValue)) return false; return true; } diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat/SessionBindingQueryResponseMessage_V4.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat/SessionBindingQueryResponseMessage_V4.java index 0d08d99078..ca0e9f79f4 100644 --- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat/SessionBindingQueryResponseMessage_V4.java +++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat/SessionBindingQueryResponseMessage_V4.java @@ -140,9 +140,15 @@ public class SessionBindingQueryResponseMessage_V4 extends SessionBindingQueryRe return false; if (defaultMaxConsumers != other.defaultMaxConsumers) return false; - if (defaultExclusive != other.defaultExclusive) + if (defaultExclusive == null) { + if (other.defaultExclusive != null) + return false; + } else if (!defaultExclusive.equals(other.defaultExclusive)) return false; - if (defaultLastValue != other.defaultLastValue) + if (defaultLastValue == null) { + if (other.defaultLastValue != null) + return false; + } else if (!defaultLastValue.equals(other.defaultLastValue)) return false; return true; } diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat/SessionQueueQueryResponseMessage_V3.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat/SessionQueueQueryResponseMessage_V3.java index 12f2a7b962..b982744e04 100644 --- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat/SessionQueueQueryResponseMessage_V3.java +++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat/SessionQueueQueryResponseMessage_V3.java @@ -216,9 +216,15 @@ public class SessionQueueQueryResponseMessage_V3 extends SessionQueueQueryRespon return false; if (purgeOnNoConsumers != other.purgeOnNoConsumers) return false; - if (exclusive != other.exclusive) + if (exclusive == null) { + if (other.exclusive != null) + return false; + } else if (!exclusive.equals(other.exclusive)) return false; - if (lastValue != other.lastValue) + if (lastValue == null) { + if (other.lastValue != null) + return false; + } else if (!lastValue.equals(other.lastValue)) return false; if (routingType == null) { if (other.routingType != null) diff --git a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQSession.java b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQSession.java index a0ccfcca8d..5f29211319 100644 --- a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQSession.java +++ b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQSession.java @@ -1173,7 +1173,7 @@ public class ActiveMQSession implements QueueSession, TopicSession { } } - private void createSharedQueue(ActiveMQDestination destination, RoutingType routingType, SimpleString queueName, SimpleString filter, boolean durable, int maxConsumers, boolean purgeOnNoConsumers, Boolean exclusive, Boolean lastValue) throws ActiveMQException { + private void createSharedQueue(ActiveMQDestination destination, RoutingType routingType, SimpleString queueName, SimpleString filter, boolean durable, Integer maxConsumers, Boolean purgeOnNoConsumers, Boolean exclusive, Boolean lastValue) throws ActiveMQException { QueueAttributes queueAttributes = destination.getQueueAttributes(); if (queueAttributes == null) { session.createSharedQueue(destination.getSimpleAddress(), routingType, queueName, filter, durable, maxConsumers, purgeOnNoConsumers, exclusive, lastValue);