summaryrefslogtreecommitdiff
path: root/qpid/java/client/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/client/src/main')
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpid/client/AMQDestination.java16
1 files changed, 11 insertions, 5 deletions
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQDestination.java b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQDestination.java
index 58f7a465be..6ca2988186 100644
--- a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQDestination.java
+++ b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQDestination.java
@@ -676,13 +676,19 @@ public abstract class AMQDestination implements Destination, Referenceable
public int hashCode()
{
int result;
- result = _exchangeName == null ? "".hashCode() : _exchangeName.hashCode();
- result = 29 * result + (_exchangeClass == null ? "".hashCode() :_exchangeClass.hashCode());
- if (_queueName != null)
+ if (_destSyntax == DestSyntax.ADDR)
{
- result = 29 * result + _queueName.hashCode();
+ result = 29 * _addressType + _name.hashCode();
+ }
+ else
+ {
+ result = _exchangeName == null ? "".hashCode() : _exchangeName.hashCode();
+ result = 29 * result + (_exchangeClass == null ? "".hashCode() :_exchangeClass.hashCode());
+ if (_queueName != null)
+ {
+ result = 29 * result + _queueName.hashCode();
+ }
}
-
return result;
}