HornetQ throws an IllegalArgumentException when wilcards used in topic names

Solution Unverified - Updated -

Issue

  • I am using wildcards in a jms topic name in order to receive every message whatever the destination.
  • I have an MDB that receives every message sent to a topic matching the wildcard expression. Messages sent to java:/messaging/A are both received by the consumers of java:/messaging/B and java:/messaging/all. No problem with that.
  • When invoke listAllSubscriptionsAsJson method on JConsole receive an exception as shown below :
ERROR [stderr] (pool-32-thread-6) java.lang.IllegalArgumentException: Invalid message queue name: jms.topic.A.messaging.#
ERROR [stderr] (pool-32-thread-6)  at org.hornetq.jms.client.HornetQDestination.decomposeQueueNameForDurableSubscription(HornetQDestination.java:122)
ERROR [stderr] (pool-32-thread-6)  at org.hornetq.jms.management.impl.JMSTopicControlImpl.listSubscribersInfosAsJSON(JMSTopicControlImpl.java:321)
ERROR [stderr] (pool-32-thread-6)  at org.hornetq.jms.management.impl.JMSTopicControlImpl.listAllSubscriptionsAsJSON(JMSTopicControlImpl.java:164)
ERROR [stderr] (pool-32-thread-6)  at org.jboss.as.messaging.jms.JMSTopicControlHandler.executeRuntimeStep(JMSTopicControlHandler.java:101)
ERROR [stderr] (pool-32-thread-6)  at org.jboss.as.controller.AbstractRuntimeOnlyHandler$1.execute(AbstractRuntimeOnlyHandler.java:90)
ERROR [stderr] (pool-32-thread-6)  at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:440)
ERROR [stderr] (pool-32-thread-6)  at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:322)
ERROR [stderr] (pool-32-thread-6)  at org.jboss.as.controller.AbstractOperationContext.completeStepInternal(AbstractOperationContext.java:229)
ERROR [stderr] (pool-32-thread-6)  at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:224)
ERROR [stderr] (pool-32-thread-6)  at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:194)
ERROR [stderr] (pool-32-thread-6)  at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:115)
ERROR [stderr] (pool-32-thread-6)  at org.jboss.as.jmx.model.ModelControllerMBeanHelper.execute(ModelControllerMBeanHelper.java:406)
ERROR [stderr] (pool-32-thread-6)  at org.jboss.as.jmx.model.ModelControllerMBeanHelper.invoke(ModelControllerMBeanHelper.java:384)
ERROR [stderr] (pool-32-thread-6)  at org.jboss.as.jmx.model.ModelControllerMBeanHelper.invoke(ModelControllerMBeanHelper.java:358)
ERROR [stderr] (pool-32-thread-6)  at org.jboss.as.jmx.model.ModelControllerMBeanServerPlugin.invoke(ModelControllerMBeanServerPlugin.java:134)
ERROR [stderr] (pool-32-thread-6)  at org.jboss.as.jmx.PluggableMBeanServerImpl.invoke(PluggableMBeanServerImpl.java:263)
ERROR [stderr] (pool-32-thread-6)  at org.jboss.remotingjmx.protocol.v2.ServerProxy$InvokeHandler.handle(ServerProxy.java:915)
ERROR [stderr] (pool-32-thread-6)  at org.jboss.remotingjmx.protocol.v2.ServerCommon$MessageReciever$1.run(ServerCommon.java:152)
ERROR [stderr] (pool-32-thread-6)  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
ERROR [stderr] (pool-32-thread-6)  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
ERROR [stderr] (pool-32-thread-6)  at java.lang.Thread.run(Thread.java:744)

Is this a bug or is there a problem in my configuration ? aren't wildcards officially supported in queue/topic names ?

Environment

  • Red Hat JBoss Enterprise Application Platform (EAP)
    • 6.1.1

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content