[jboss-user] [Messaging, JMS & JBossMQ] - Re: Unexpected redelivery of messages

karl.martens do-not-reply at jboss.com
Wed Jul 25 17:31:35 EDT 2007


Adrian,

  Thanks for your reply, I attempted to get the suggested XARecovery configuration operational.  I did run into an error.  Admittedly I'm new to reading the Jira but as I read it; the patch should be included in my version of the Application Server 4.2.1 and all that I should have to do is the configuration entries in jboss-4.2.1.GA/server/default/deploy/jms/mysql-jdbc2-service.xml

The exception
===========
org.jboss.mq.SpyJMSException: Could not restore messages to destination : QUEUE.xefex-eventQueue; - nested throwable: (java.sql.SQLException: Column Index out of range, 3 > 1. )
        at org.jboss.mq.pm.jdbc2.PersistenceManager.internalRestoreQueue(PersistenceManager.java:714)
        at org.jboss.mq.pm.jdbc2.PersistenceManager.restoreQueue(PersistenceManager.java:565)
        at org.jboss.mq.server.JMSQueue.(JMSQueue.java:66)
        at org.jboss.mq.server.jmx.Queue.startService(Queue.java:85)
...
Caused by: java.sql.SQLException: Column Index out of range, 3 > 1.
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
        at com.mysql.jdbc.ResultSet.checkColumnBounds(ResultSet.java:662)

Problem
=======
I've downloaded the JBoss AS source and I think the problem resides in line 620 of org.jboss.mq.pm.jdbc2.PersistenceManager

  stmt = c.prepareStatement(SELECT_MESSAGE_KEYS_IN_DEST);
should read
  stmt = c.prepareStatement(selectMessagesInDest);

Work around
===========
  In the file jboss-4.2.1.GA/server/default/deploy/jms/mysql-jdbc2-service.xml alter the line for the entry SELECT_MESSAGE_KEYS_IN_DEST to  SELECT_MESSAGE_KEYS_IN_DEST = SELECT MESSAGEID, MESSAGEBLOB, TXID, TXOP FROM JMS_MESSAGES WHERE DESTINATION=?

  This should work in both the XA and non XA configuration as the columns are additive.  Unfortunately after the fix XA recovery appears to be operational but it didn't solve my original problem.  I'll bug the EJB3 guys to see if they can direct me into proper configuration for JBossMQ persistence with EJB3

Thanks,
Karl Martens

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

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



More information about the jboss-user mailing list