2 Replies Latest reply on Jun 6, 2007 2:58 AM by Max Morozov

    [Error] Failed to expire delivery

    Max Morozov Newbie

      Hi All,

      I'm trying to send messages from servlet inside JBoss to JMS Queue and I've encountered a strange error: "Failed to expire delivery". What can cause such error?

      Servlet code that sends messages:

      private void sendMessage(String messageText) throws JMSException, NamingException
       {
       String destinationName = "/queue/clickstream-client" + random.nextInt(10);
      
       InitialContext ic = null;
       ConnectionFactory cf = null;
       Connection connection = null;
       try {
       ic = new InitialContext();
       cf = (ConnectionFactory) ic.lookup("/ConnectionFactory");
       Queue queue = (Queue) ic.lookup(destinationName);
       connection = cf.createConnection();
       Session session = connection.createSession(false,
       Session.AUTO_ACKNOWLEDGE);
       MessageProducer sender = session.createProducer(queue);
       sender.setDeliveryMode(DeliveryMode.PERSISTENT);
       Message msg = session.createTextMessage(messageText);
       sender.setTimeToLive(1000 * 60 * 60 * 24 * 30);
       sender.send(msg);
       } finally {
       if (ic != null) {
       try {
       ic.close();
       } catch (Exception e) {
       throw new RuntimeException(e);
       }
       }
      
       closeConnection(connection);
       }
       }


      Server log:
      2007-06-05 17:58:44,593 DEBUG [org.jboss.remoting.transport.socket.MicroSocketClientInvoker] SocketClientInvoker[45f4ae, bisocket://192.168.10.139:247586041] setting shouldCheckConnection to false
      2007-06-05 17:58:44,593 DEBUG [org.jboss.remoting.transport.socket.SocketClientInvoker] SocketClientInvoker[45f4ae, bisocket://192.168.10.139:247586041] setting timeout to 0
      2007-06-05 17:58:44,593 DEBUG [org.jboss.remoting.transport.bisocket.BisocketClientInvoker] registered 5c4oa3v-nb50ro-f2kftkar-1-f2kftlb7-7 -> SocketClientInvoker[45f4ae, bisocket://192.168.10.139:247586041]
      2007-06-05 17:58:44,593 DEBUG [org.jboss.remoting.transport.bisocket.BisocketClientInvoker] got control socket: Socket[addr=/192.168.10.139,port=1864,localport=2243]
      2007-06-05 17:58:44,593 DEBUG [org.jboss.remoting.MicroRemoteClientInvoker] SocketClientInvoker[45f4ae, bisocket://192.168.10.139:247586041] connecting
      2007-06-05 17:58:44,593 DEBUG [org.jboss.remoting.MicroRemoteClientInvoker] SocketClientInvoker[45f4ae, bisocket://192.168.10.139:247586041] connected
      2007-06-05 17:58:44,593 DEBUG [org.jboss.remoting.callback.DefaultCallbackErrorHandler] DefaultCallbackErrorHandler[UNITIALIZED] setting server invoker to SocketServerInvoker[192.168.10.139:4457]
      2007-06-05 17:58:44,593 DEBUG [org.jboss.remoting.callback.DefaultCallbackErrorHandler] DefaultCallbackErrorHandler[SocketServerInvoker[192.168.10.139:4457]] setting callback handler to ServerInvokerCallbackHandler[5c4oa3v-nb50ro-f2kftkar-1-f2kftl60-4+5c4oa3v-nb50ro-f2kftkar-1-f2kftlb7-7]
      2007-06-05 17:58:44,593 DEBUG [org.jboss.remoting.callback.ServerInvokerCallbackHandler] Session id for callback handler is 5c4oa3v-nb50ro-f2kftkar-1-f2kftl60-4+5c4oa3v-nb50ro-f2kftkar-1-f2kftlb7-7
      2007-06-05 17:58:44,593 DEBUG [org.jboss.jms.server.remoting.JMSServerInvocationHandler] adding callback handler ServerInvokerCallbackHandler[5c4oa3v-nb50ro-f2kftkar-1-f2kftl60-4+5c4oa3v-nb50ro-f2kftkar-1-f2kftlb7-7]
      2007-06-05 17:58:44,593 DEBUG [org.jboss.jms.server.remoting.JMSServerInvocationHandler] found calllback handler for remoting session ...-f2kftl60-4
      2007-06-05 17:58:44,593 DEBUG [org.jboss.jms.server.endpoint.ServerConnectionFactoryEndpoint] creating a new connection for user null
      2007-06-05 17:58:44,593 DEBUG [org.jboss.jms.server.connectionmanager.SimpleConnectionManager] registered connection ConnectionEndpoint[5] as ...-f2kftl60-4
      2007-06-05 17:58:44,593 DEBUG [org.jboss.jms.server.endpoint.ServerConnectionFactoryEndpoint] created and registered ConnectionEndpoint[5]
      2007-06-05 17:58:44,906 DEBUG [org.jboss.jms.server.endpoint.ServerConnectionEndpoint] ConnectionEndpoint[5] creating non transacted session, AUTO_ACKNOWLEDGE, non XA
      2007-06-05 17:58:44,906 DEBUG [org.jboss.jms.server.endpoint.ServerConnectionEndpoint] created and registered SessionEndpoint[6]
      2007-06-05 17:58:44,906 DEBUG [org.jboss.jms.server.endpoint.ServerConnectionEndpoint] created SessionDelegate[16987790, ID=6]
      2007-06-05 17:58:45,312 DEBUG [org.jboss.jms.server.security.SecurityMetadataStore] No SecurityMetadadata was available for clickstream-client0, using default security config
      2007-06-05 17:58:45,328 DEBUG [org.jboss.jms.server.endpoint.ServerConsumerEndpoint] ConsumerEndpoint[7] constructed
      2007-06-05 17:58:45,453 DEBUG [org.jboss.jms.server.endpoint.ServerSessionEndpoint] SessionEndpoint[6] created and registered ConsumerEndpoint[7]
      2007-06-05 17:58:45,515 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@91f0de, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@1a28183{ url=null ,addedOrder=0}
      2007-06-05 17:58:47,437 ERROR [org.jboss.jms.server.endpoint.ServerConsumerEndpoint] Failed to expire delivery: Delivery[Reference[11264]:RELIABLE](done)
      java.lang.IllegalArgumentException: Cannot find mutex in map for JBossMessage[11264]:PERSISTENT
       at org.jboss.messaging.core.plugin.LockMap.releaseLock(LockMap.java:89)
       at org.jboss.messaging.core.plugin.JDBCPersistenceManager.releaseLocks(JDBCPersistenceManager.java:3378)
       at org.jboss.messaging.core.plugin.JDBCPersistenceManager.handleBeforeCommit1PC(JDBCPersistenceManager.java:2312)
       at org.jboss.messaging.core.plugin.JDBCPersistenceManager$TransactionCallback.beforeCommit(JDBCPersistenceManager.java:3777)
       at org.jboss.messaging.core.tx.Transaction.commit(Transaction.java:208)
       at org.jboss.jms.server.endpoint.ServerSessionEndpoint.moveInTransaction(ServerSessionEndpoint.java:1083)
       at org.jboss.jms.server.endpoint.ServerSessionEndpoint.expireDelivery(ServerSessionEndpoint.java:743)
       at org.jboss.jms.server.endpoint.ServerConsumerEndpoint.handle(ServerConsumerEndpoint.java:208)
       at org.jboss.messaging.core.local.RoundRobinPointToPointRouter.handle(RoundRobinPointToPointRouter.java:120)
       at org.jboss.messaging.core.ChannelSupport.deliverInternal(ChannelSupport.java:600)
       at org.jboss.messaging.core.ChannelSupport$InMemoryCallback.afterCommit(ChannelSupport.java:1017)
       at org.jboss.messaging.core.tx.Transaction.commit(Transaction.java:228)
       at org.jboss.jms.server.endpoint.ServerSessionEndpoint.moveInTransaction(ServerSessionEndpoint.java:1083)
       at org.jboss.jms.server.endpoint.ServerSessionEndpoint.expireDelivery(ServerSessionEndpoint.java:743)
       at org.jboss.jms.server.endpoint.ServerConsumerEndpoint.handle(ServerConsumerEndpoint.java:208)
       at org.jboss.messaging.core.local.RoundRobinPointToPointRouter.handle(RoundRobinPointToPointRouter.java:120)
       at org.jboss.messaging.core.ChannelSupport.deliverInternal(ChannelSupport.java:600)
       at org.jboss.messaging.core.ChannelSupport$InMemoryCallback.afterCommit(ChannelSupport.java:1017)
       at org.jboss.messaging.core.tx.Transaction.commit(Transaction.java:228)
       at org.jboss.jms.server.endpoint.ServerSessionEndpoint.moveInTransaction(ServerSessionEndpoint.java:1083)
       at org.jboss.jms.server.endpoint.ServerSessionEndpoint.expireDelivery(ServerSessionEndpoint.java:743)
       at org.jboss.jms.server.endpoint.ServerConsumerEndpoint.handle(ServerConsumerEndpoint.java:208)
       at org.jboss.messaging.core.local.RoundRobinPointToPointRouter.handle(RoundRobinPointToPointRouter.java:120)
       at org.jboss.messaging.core.ChannelSupport.deliverInternal(ChannelSupport.java:600)
       at org.jboss.messaging.core.ChannelSupport$InMemoryCallback.afterCommit(ChannelSupport.java:1017)
      
       ... (repeated many times) ...
      
       at org.jboss.messaging.core.tx.Transaction.commit(Transaction.java:228)
       at org.jboss.jms.server.endpoint.ServerSessionEndpoint.moveInTransaction(ServerSessionEndpoint.java:1083)
       at org.jboss.jms.server.endpoint.ServerSessionEndpoint.expireDelivery(ServerSessionEndpoint.java:743)
       at org.jboss.jms.server.endpoint.ServerConsumerEndpoint.handle(ServerConsumerEndpoint.java:208)
       at org.jboss.messaging.core.local.RoundRobinPointToPointRouter.handle(RoundRobinPointToPointRouter.java:120)
       at org.jboss.messaging.core.ChannelSupport.deliverInternal(ChannelSupport.java:600)
       at org.jboss.messaging.core.ChannelSupport$InMemoryCallback.afterCommit(ChannelSupport.java:1017)
       at org.jboss.messaging.core.tx.Transaction.commit(Transaction.java:228)
       at org.jboss.jms.server.endpoint.ServerSessionEndpoint.moveInTransaction(ServerSessionEndpoint.java:1083)
       at org.jboss.jms.server.endpoint.ServerSessionEndpoint.expireDelivery(ServerSessionEndpoint.java:743)
       at org.jboss.jms.server.endpoint.ServerConsumerEndpoint.handle(ServerConsumerEndpoint.java:208)
       at org.jboss.messaging.core.local.RoundRobinPointToPointRouter.handle(RoundRobinPointToPointRouter.java:120)