Configuration is:
- C++ client (ActiveMQ CMS over Stomp) is sender
- JBoss 5.0 with MQ and MDB is receiver. StompConnect's thread is working inside JBoss
When the name of the JMS topic is laconic "SERVER", c++ client sends message to topic "SERVER", and MDB listening for messages from topic "SERVER", everything is transmitted well.
But when the name of the JMS topic is "SERVER/TOP" (there is slash in the name), c++ client sends message to topic "SERVER/TOP", and MDB listening for messages from topic "SERVER/TOP", an exception is thrown on JBoss side. Full stack of exception is at the end of this message.
However, at the same time when the name of the JMS topic is "SERVER/TOP", but c++ client sends message to topic "SERVER", and MDB still listening for messages from topic "SERVER/TOP", message is received properly. That case is detected accidentally.
Can anybody explain such a strange behaviour?
Exception:
11:42:21,562 ERROR [ExceptionUtil] SessionEndpoint[7b-y2923txf-1-zooy2txf-2p9g2a-w30b3a] createTopic [8b-y2923txf-1-zooy2txf-2p9g2a-w30b3a]
javax.jms.JMSException: There is no administratively defined topic with name:SERVER/TOP
at org.jboss.jms.server.endpoint.ServerSessionEndpoint.createTopic(ServerSessionEndpoint.java:321)
at org.jboss.jms.server.endpoint.advised.SessionAdvised.org$jboss$jms$server$endpoint$advised$SessionAdvised$createTopic$aop(SessionAdvised.java:110)
at org.jboss.jms.server.endpoint.advised.SessionAdvised$createTopic_N1144803973659535745.invokeTarget(SessionAdvised$createTopic_N1144803973659535745.java)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
at org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.jms.server.endpoint.advised.SessionAdvised.createTopic(SessionAdvised.java)
at org.jboss.jms.wireformat.SessionCreateTopicRequest.serverInvoke(SessionCreateTopicRequest.java:74)
at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:143)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:908)
at org.jboss.remoting.transport.local.LocalClientInvoker.invoke(LocalClientInvoker.java:106)
at org.jboss.remoting.Client.invoke(Client.java:1708)
at org.jboss.remoting.Client.invoke(Client.java:612)
at org.jboss.remoting.Client.invoke(Client.java:600)
at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:189)
at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:160)
at org.jboss.jms.client.delegate.ClientSessionDelegate.org$jboss$jms$client$delegate$ClientSessionDelegate$createTopic$aop(ClientSessionDelegate.java:353)
at org.jboss.jms.client.delegate.ClientSessionDelegate$createTopic_N1144803973659535745.invokeTarget(ClientSessionDelegate$createTopic_N1144803973659535745.java)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
at org.jboss.jms.client.container.FailoverValveInterceptor.invoke(FailoverValveInterceptor.java:92)
at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170)
at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.jms.client.delegate.ClientSessionDelegate.createTopic(ClientSessionDelegate.java)
at org.jboss.jms.client.JBossSession.createTopic(JBossSession.java:260)
at org.codehaus.stomp.jms.StompSession.convertDestination(StompSession.java:96)
at org.codehaus.stomp.jms.StompSession.sendToJms(StompSession.java:71)
at org.codehaus.stomp.jms.ProtocolConverter.onStompSend(ProtocolConverter.java:260)
at org.codehaus.stomp.jms.ProtocolConverter.onStompFrame(ProtocolConverter.java:132)
at org.codehaus.stomp.tcp.TcpTransport.run(TcpTransport.java:131)
at java.lang.Thread.run(Thread.java:619)
Re: StompConnect can not deliver messages to Jboss if name of destination contains / (slash)