diff --git a/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/server/impl/JMSServerManagerImpl.java b/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/server/impl/JMSServerManagerImpl.java index 15c58968ca..420b22b0f3 100644 --- a/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/server/impl/JMSServerManagerImpl.java +++ b/artemis-jms-server/src/main/java/org/apache/activemq/artemis/jms/server/impl/JMSServerManagerImpl.java @@ -1133,7 +1133,7 @@ public class JMSServerManagerImpl implements JMSServerManager, ActivateCallback ActiveMQTopic activeMQTopic = ActiveMQDestination.createTopic(address, topicName); server.addOrUpdateAddressInfo(new AddressInfo(SimpleString.toSimpleString(activeMQTopic.getAddress()), RoutingType.MULTICAST)); - topics.put(topicName, activeMQTopic); + topics.put(address, activeMQTopic); this.recoverregistryBindings(topicName, PersistedType.Topic); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/JMSServerDeployerTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/JMSServerDeployerTest.java index 4f73910d8d..f840c51467 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/JMSServerDeployerTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/server/JMSServerDeployerTest.java @@ -79,6 +79,8 @@ public class JMSServerDeployerTest extends ActiveMQTestBase { doTestDeployTopicsWithUnusualNames("topic\\with\\backslashes\\in\\name", "/mytopic4"); doTestDeployTopicsWithUnusualNames("topic with # chars and * chars in name", "/mytopic5"); + + doTestDeployTopicsWithUnusualNames("jms.topic.myTopic", "/mytopic6", "myTopic"); } private void doTestDeployQueuesWithUnusualNames(final String queueName, final String jndiName) throws Exception { @@ -97,6 +99,14 @@ public class JMSServerDeployerTest extends ActiveMQTestBase { Assert.assertEquals(topicName, topic.getTopicName()); } + private void doTestDeployTopicsWithUnusualNames(final String topicName, final String jndiName, final String jmsTopicName) throws Exception { + jmsServer.createTopic(topicName, false, jmsTopicName, jndiName); + + Topic topic = (Topic) context.lookup(jndiName); + Assert.assertNotNull(topic); + Assert.assertEquals(jmsTopicName, topic.getTopicName()); + } + // Package protected --------------------------------------------- // Protected -----------------------------------------------------