[jboss-user] [JBoss Messaging] - Unsubscribe of durable topic fails

CarstenRudat do-not-reply at jboss.com
Mon Jun 15 12:12:08 EDT 2009


Hi all,

I have JBoss Messageing 1.4.1 with JBoss Remoting 2.5.1 running on JBoss AS 4.2.3.GA (all config) and I have serveral clients connected to a durable topic.

Sometimes, when a client application closes and therefore unsubscribes from the topic, I have a server-side-exception:


  | 2009-06-12 22:17:16,795 ERROR [org.jboss.messaging.util.ExceptionUtil]
  | SessionEndpoint[q42-mnskbvvf-1-i3sj4vvf-52puvc-110j3] unsubscribe
  | [a62-v72bcvvf-1-i3sj4vvf-52puvc-110j3]
  | java.lang.IllegalStateException: Cannot remove references while
  | deliveries are in progress (Channel 721), there are 5
  |         at
  | org.jboss.messaging.core.impl.ChannelSupport.removeAllReferences(ChannelSupport.java:402)
  |         at
  | org.jboss.messaging.core.impl.postoffice.MessagingPostOffice.internalRemoveBinding(MessagingPostOffice.java:1939)
  |         at
  | org.jboss.messaging.core.impl.postoffice.MessagingPostOffice.removeBinding(MessagingPostOffice.java:474)
  |         at
  | org.jboss.jms.server.endpoint.ServerSessionEndpoint.unsubscribe(ServerSessionEndpoint.java:831)
  |         at
  | org.jboss.jms.server.endpoint.advised.SessionAdvised.org$jboss$jms$server$endpoint$advised$SessionAdvised$unsubscribe$aop(SessionAdvised.java:135)
  |         at
  | org.jboss.jms.server.endpoint.advised.SessionAdvised$unsubscribe_8775578479443985821.invokeNext(SessionAdvised$unsubscribe_8775578479443985821.java)
  |         at
  | org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105)
  |         at
  | org.jboss.jms.server.endpoint.advised.SessionAdvised$unsubscribe_8775578479443985821.invokeNext(SessionAdvised$unsubscribe_8775578479443985821.java)
  |         at
  | org.jboss.jms.server.endpoint.advised.SessionAdvised.unsubscribe(SessionAdvised.java)
  |         at
  | org.jboss.jms.wireformat.SessionUnsubscribeRequest.serverInvoke(SessionUnsubscribeRequest.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.socket.ServerThread.completeInvocation(ServerThread.java:742)
  |         at
  | org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:695)
  |         at
  | org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:549)
  |         at
  | org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:230)
  | 

But the client received its last message a long time ago. That means JBoss has stopped the delivery to that particular client. There is a JMS-Exception-Handler registered on the client that reconnects, if any problems on the underlying communication occurs, but this Handler is not called.

How can I turn on more logging, to see why JBoss Messaging does not deliver the last messages?
And is there a way to say "unsubscribe and discard undelivered messages"?

Your help is very appreciated.

Thx,
Carsten

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4237701#4237701

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4237701



More information about the jboss-user mailing list