}
private int executeReInsert(OutgoingSessionGranularitySessionData session, byte[] obs, Connection conn)
throws SQLException, IOException
{
DistributableSessionMetadata metadata = session.getMetadata();
int size = obs.length;
InputStream in = null;
if (obs != null)
{
ByteArrayInputStream bis = new ByteArrayInputStream(obs);
in = new BufferedInputStream(bis, size);
}
try
{
PreparedStatement preparedUpdateSql = prepareStatement(conn, getReInsertSql());
preparedUpdateSql.setInt(1, session.getVersion());
preparedUpdateSql.setLong(2, session.getTimestamp());
preparedUpdateSql.setString(3, metadata.getId());
preparedUpdateSql.setString(4, metadata.isNew() ? "1" : "0");
preparedUpdateSql.setInt(5, metadata.getMaxInactiveInterval());
preparedUpdateSql.setString(6, metadata.isValid() ? "1" : "0");
preparedUpdateSql.setBinaryStream(7, in, size);
preparedUpdateSql.setLong(8, metadata.getCreationTime());
// Add in the WHERE clause params
preparedUpdateSql.setString(9, session.getRealId());
preparedUpdateSql.setString(10, getName());
int count = preparedUpdateSql.executeUpdate();