1 Reply Latest reply on Dec 28, 2006 5:27 AM by timfox

    Jboss messaging not picking up messages

    mgajendr

      Hi,

      We are using JDK1.5 and Jboss messaging 1.0.1CR4 in production environment. We are using oracle based message persistence as well. The MDB's pick up the messages properly for 2/3 days and after that messages starts backing up in the JMS_MESSAGE table. The server will continue to process other messages coming in, even when there are bunch of messages stuck in limbo state. The number of messages getting backed up gradually increases, still the MDB ignore those messages and processes other incoming messages. The backed up messages in the table never get processed.

      Even when we restart the Jboss messaging server, it does not pick up the messages existing in the JMS_MESSAGE table. We need to manually clean up all the messages and do a restart and this means, messages are lost.

      What we would like to understand is
      - Why Jboss is backing up messages and is there a way to solve it ?
      - Is there a way to reset the messages in JMS_MESSAGE table so that they get picked up when we restart the messaging service ?

      Also at times we get the following exceptions in the Jboss messaging server that is backing up the messages. Not able to reproduce this though, but occurs very randomly.

      2006-12-27 17:04:56,054 ERROR [org.jboss.jms.server.endpoint.ServerConnectionEndpoint] Exception occured
      org.jboss.messaging.core.tx.TransactionException: Failed to remove delivery 1453768
      at org.jboss.jms.server.endpoint.ServerConsumerEndpoint$DeliveryCallback.afterCommit(ServerConsumerEndpoint.java:836)
      at org.jboss.messaging.core.tx.Transaction.commit(Transaction.java:194)
      at org.jboss.jms.server.endpoint.ServerConnectionEndpoint.sendTransaction(ServerConnectionEndpoint.java:410)
      at org.jboss.jms.server.endpoint.advised.ConnectionAdvised.org$jboss$jms$server$endpoint$advised$ConnectionAdvised$sendTransaction$aop(ConnectionAdvised.java:99)
      at sun.reflect.GeneratedMethodAccessor112.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
      at org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      at org.jboss.aop.Advisor.dynamicInvoke(Advisor.java:723)
      at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:101)
      at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:126)
      at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:999)
      at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:848)
      at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:447)
      at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:534)
      at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:257)



      ------------------------

      2006-12-27 17:04:56,357 ERROR [org.jboss.jms.server.endpoint.ServerConnectionEndpoint] Exception occured
      javax.jms.IllegalStateException: Failed to acknowledge delivery null
      at org.jboss.jms.server.endpoint.ServerConsumerEndpoint.acknowledgeTransactionally(ServerConsumerEndpoint.java:485)
      at org.jboss.jms.server.endpoint.ServerConnectionEndpoint.processTransaction(ServerConnectionEndpoint.java:768)
      at org.jboss.jms.server.endpoint.ServerConnectionEndpoint.sendTransaction(ServerConnectionEndpoint.java:351)
      at org.jboss.jms.server.endpoint.advised.ConnectionAdvised.org$jboss$jms$server$endpoint$advised$ConnectionAdvised$sendTransaction$aop(ConnectionAdvised.java:99)
      at sun.reflect.GeneratedMethodAccessor112.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
      at org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      at org.jboss.aop.Advisor.dynamicInvoke(Advisor.java:723)
      at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:101)
      at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:126)
      at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:999)
      at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:848)
      at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:447)
      at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:534)
      at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:257)

      Any help on this is much appreciated.

      Thanks,
      -MG