if (dest != null && dest.isTopic() && message.getJMSDeliveryMode() == DeliveryMode.PERSISTENT) {
// note that we still need to persist the message even if there are no matching
// subscribers as they may come along later
// plus we don't pre-load subscription information
final MessageContainer container = getContainer(dest.getPhysicalName());
container.addMessage(message);
TransactionManager.getContexTransaction().addPostCommitTask(new TransactionTask() {
public void execute() throws Throwable {
doSendMessage(client, message, container);
}
});