"timfox" wrote :
| You can already use a Stomp client to talk to JBoss Messaging 1.x/2.x using
StompConnect (google it)
|
Thanks, I am already paying attention to StompConnect.
I've faced an issue which I can not resolve with StompConnect however:
Configuration is:
- C++ client (ActiveMQ CMS over Stomp) is sender
- JBoss 5.0 with MQ (not JBoss Messaging, sorry, I used default on JBoss 5.0) 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.
Once again in two words, MDB on JBoss can not receive message if it has been sent by cpp
client to destination which contains slashes. By some reason in such case message is
routed into topic which name is substring before slash.
Alex.
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)
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4247384#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...