rs.getString(16),
rs.getInt(16),
   public Message getMessage(Serializable messageID) throws Exception   {      Connection conn = null;      PreparedStatement ps = null;      ResultSet rs = null;      TransactionWrapper wrap = new TransactionWrapper();      try      {         Message m = null;         int referenceCount = 0;         conn = ds.getConnection();         ps = conn.prepareStatement(selectMessage);         ps.setString(1, (String)messageID);         rs = ps.executeQuery();         int count = 0;         if (rs.next())         {            m = MessageFactory.createMessage(rs.getString(1), //message id                                      rs.getString(2).equals("Y"), //reliable                                      rs.getLong(3), //expiration                                      rs.getLong(4), //timestamp                                      rs.getInt(5), //priority                                      rs.getInt(6), //delivery count                                      (Map)rs.getObject(7), //core headers                                      (Serializable)rs.getObject(8), //payload                                      rs.getInt(9), //type                                      rs.getString(10), //jms type                                      rs.getObject(11), //correlation id                                      rs.getString(12).equals("Y"), //destination is queue                                      rs.getString(13), //destination                                      rs.getString(14).equals("Y"), //reply to is queue                                      rs.getString(15), //reply to                                      rs.getString(16), // connection id                                      (Map)rs.getObject(17)); // jms properties            referenceCount = rs.getInt(18);            count ++;         }         if (log.isTraceEnabled()) { log.trace(JDBCUtil.statementToString(selectMessage, messageID) + " selected " + count + " row(s)"); }         if (m != null)         {            // increment the reference count            ps = conn.prepareStatement(updateReferenceCount);            ps.setInt(1, ++referenceCount);            ps.setString(2, (String)m.getMessageID());            ps.executeUpdate();            if (log.isTraceEnabled()) { log.trace(JDBCUtil.statementToString(updateReferenceCount, new Integer(referenceCount), m.getMessageID()) + " executed successfully"); }         }         return m;      }      catch (Exception e)      {         wrap.exceptionOccurred();         throw e;      }      finally      {         if (rs != null)         {            try            {               rs.close();            }            catch (Throwable e)            {}         }         if (ps != null)         {            try            {               ps.close();            }            catch (Throwable e)            {}         }         if (conn != null)         {            try            {               conn.close();            }            catch (Throwable e)            {}         }         wrap.end();      }   }