From 342cc83ea44205483fa33ba9375c40a860535032 Mon Sep 17 00:00:00 2001 From: Timothy Bish Date: Tue, 12 Sep 2017 17:41:25 -0400 Subject: [PATCH] ARTEMIS-1410 remove redundant code processing openwire destination Remove some redundant code in the processing of the OpenWire Destination name, both in the topic handler and in the method in general the destination name only needs to be converted once and only one SimpleString instance needs to be created from that which will then feed all the places that either the String form or the SimpleString form of the result is needed. --- .../protocol/openwire/amq/AMQConsumer.java | 20 +++++-------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQConsumer.java b/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQConsumer.java index 010a7aa394..969d9aea68 100644 --- a/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQConsumer.java +++ b/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/amq/AMQConsumer.java @@ -99,33 +99,24 @@ public class AMQConsumer { } } - String physicalName = session.convertWildcard(openwireDestination.getPhysicalName()); - - SimpleString address; + SimpleString destinationName = new SimpleString(session.convertWildcard(openwireDestination.getPhysicalName())); if (openwireDestination.isTopic()) { - if (openwireDestination.isTemporary()) { - address = new SimpleString(physicalName); - } else { - address = new SimpleString(physicalName); - } - - SimpleString queueName = createTopicSubscription(info.isDurable(), info.getClientId(), physicalName, info.getSubscriptionName(), selector, address); + SimpleString queueName = createTopicSubscription(info.isDurable(), info.getClientId(), destinationName.toString(), info.getSubscriptionName(), selector, destinationName); serverConsumer = session.getCoreSession().createConsumer(nativeId, queueName, null, info.isBrowser(), false, -1); serverConsumer.setlowConsumerDetection(slowConsumerDetectionListener); //only advisory topic consumers need this. ((ServerConsumerImpl)serverConsumer).setPreAcknowledge(preAck); } else { - SimpleString queueName = new SimpleString(session.convertWildcard(openwireDestination.getPhysicalName())); try { - session.getCoreServer().createQueue(queueName, RoutingType.ANYCAST, queueName, null, true, false); + session.getCoreServer().createQueue(destinationName, RoutingType.ANYCAST, destinationName, null, true, false); } catch (ActiveMQQueueExistsException e) { // ignore } - serverConsumer = session.getCoreSession().createConsumer(nativeId, queueName, selector, info.isBrowser(), false, -1); + serverConsumer = session.getCoreSession().createConsumer(nativeId, destinationName, selector, info.isBrowser(), false, -1); serverConsumer.setlowConsumerDetection(slowConsumerDetectionListener); - AddressSettings addrSettings = session.getCoreServer().getAddressSettingsRepository().getMatch(queueName.toString()); + AddressSettings addrSettings = session.getCoreServer().getAddressSettingsRepository().getMatch(destinationName.toString()); if (addrSettings != null) { //see PolicyEntry if (info.getPrefetchSize() != 0 && addrSettings.getQueuePrefetch() == 0) { @@ -136,7 +127,6 @@ public class AMQConsumer { session.getConnection().dispatch(cc); } } - } serverConsumer.setProtocolData(this);