[jboss-user] [JBoss Messaging] - [Error] Failed to expire delivery

Elvoret do-not-reply at jboss.com
Tue Jun 5 10:07:47 EDT 2007


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 at 91f0de, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader at 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)

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

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



More information about the jboss-user mailing list