final ServerMessage message = _recoveredMessages.get(messageId);
_unusedMessages.remove(messageId);
if(message != null)
{
final MessageReference ref = message.newReference();
branch.enqueue(queue,message);
branch.addPostTransactionAcion(new ServerTransaction.Action()
{
public void postCommit()
{
try
{
queue.enqueue(message, true, null);
ref.release();
}
catch (AMQException e)
{
_logger.error("Unable to enqueue message " + message.getMessageNumber() + " into " +
"queue " + queue.getName() + " (from XA transaction)", e);
throw new RuntimeException(e);
}
}
public void onRollback()
{
ref.release();
}
});
}
else
{