if (ackcount == 0 ) {
return true;
}
if (mod != 0) {
throw new BrokerException(Globals.getBrokerResources().getString(
BrokerResources.X_INTERNAL_EXCEPTION,"Invalid Redeliver Message Size: " + size +
". Not multiple of " + REDELIVER_BLOCK_SIZE));
}
if (DEBUG) {
logger.log(Logger.DEBUG,"RedeliverMessage: processing message {0} {1}",
msg.toString(),
con.getConnectionUID().toString());
}
DataInputStream is = new DataInputStream(
msg.getMessageBodyStream());
ConsumerUID ids[] = new ConsumerUID[ackcount];
SysMessageID sysids[] = new SysMessageID[ackcount];
try {
for (int i = 0; i < ackcount; i ++) {
ids[i] = new ConsumerUID(is.readLong());
sysids[i] = new SysMessageID();
sysids[i].readID(is);
}
redeliver(ids, sysids, con, tid, redeliver);
} catch (Exception ex) {
throw new BrokerException(Globals.getBrokerResources().getString(
BrokerResources.X_INTERNAL_EXCEPTION,"Invalid Redeliver Packet", ex), ex);
}
return true;
}