MessageStore store = transactionItem.getDeliveryMode() == DeliveryMode.PERSISTENT ? persistentStore : volatileStore;
int handle = transactionItem.getHandle();
// Retrieve message content
AbstractMessage msg = store.retrieve(handle);
// Update redelivered flag both in memory and message store
msg.setJMSRedelivered(true);
handle = store.replace(handle, msg);