|
|
@ -403,7 +403,7 @@ public class CachingConnectionFactory extends SingleConnectionFactory { |
|
|
|
private MessageConsumer getCachedConsumer( |
|
|
|
private MessageConsumer getCachedConsumer( |
|
|
|
Destination dest, String selector, Boolean noLocal, String subscription, boolean durable) throws JMSException { |
|
|
|
Destination dest, String selector, Boolean noLocal, String subscription, boolean durable) throws JMSException { |
|
|
|
|
|
|
|
|
|
|
|
ConsumerCacheKey cacheKey = new ConsumerCacheKey(dest, selector, noLocal, subscription); |
|
|
|
ConsumerCacheKey cacheKey = new ConsumerCacheKey(dest, selector, noLocal, subscription, durable); |
|
|
|
MessageConsumer consumer = this.cachedConsumers.get(cacheKey); |
|
|
|
MessageConsumer consumer = this.cachedConsumers.get(cacheKey); |
|
|
|
if (consumer != null) { |
|
|
|
if (consumer != null) { |
|
|
|
if (logger.isTraceEnabled()) { |
|
|
|
if (logger.isTraceEnabled()) { |
|
|
@ -554,11 +554,14 @@ public class CachingConnectionFactory extends SingleConnectionFactory { |
|
|
|
|
|
|
|
|
|
|
|
private final String subscription; |
|
|
|
private final String subscription; |
|
|
|
|
|
|
|
|
|
|
|
public ConsumerCacheKey(Destination destination, String selector, Boolean noLocal, String subscription) { |
|
|
|
private final boolean durable; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public ConsumerCacheKey(Destination destination, String selector, Boolean noLocal, String subscription, boolean durable) { |
|
|
|
super(destination); |
|
|
|
super(destination); |
|
|
|
this.selector = selector; |
|
|
|
this.selector = selector; |
|
|
|
this.noLocal = noLocal; |
|
|
|
this.noLocal = noLocal; |
|
|
|
this.subscription = subscription; |
|
|
|
this.subscription = subscription; |
|
|
|
|
|
|
|
this.durable = durable; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
@ -570,7 +573,8 @@ public class CachingConnectionFactory extends SingleConnectionFactory { |
|
|
|
return (destinationEquals(otherKey) && |
|
|
|
return (destinationEquals(otherKey) && |
|
|
|
ObjectUtils.nullSafeEquals(this.selector, otherKey.selector) && |
|
|
|
ObjectUtils.nullSafeEquals(this.selector, otherKey.selector) && |
|
|
|
ObjectUtils.nullSafeEquals(this.noLocal, otherKey.noLocal) && |
|
|
|
ObjectUtils.nullSafeEquals(this.noLocal, otherKey.noLocal) && |
|
|
|
ObjectUtils.nullSafeEquals(this.subscription, otherKey.subscription)); |
|
|
|
ObjectUtils.nullSafeEquals(this.subscription, otherKey.subscription) && |
|
|
|
|
|
|
|
this.durable == otherKey.durable); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|