* @throws javax.jms.JMSException
*/
public void sendMessage(BrokerClient client, ActiveMQMessage message) throws JMSException {
ActiveMQDestination destination = message.getJMSActiveMQDestination();
if (destination != null && destination.isTopic()) {
MessageContainer container = null;
if (log.isDebugEnabled()) {
log.debug("Dispaching to " + subscriptionContainer + " subscriptions with message: " + message);
}
Set subscriptions = subscriptionContainer.getSubscriptions(destination);
for (Iterator i = subscriptions.iterator(); i.hasNext();) {
Subscription sub = (Subscription) i.next();
if (sub.isTarget(message) && (!sub.isDurableTopic() || message.getJMSDeliveryMode() == DeliveryMode.NON_PERSISTENT)) {
if (container == null) {
container = getContainer(message.getJMSDestination().toString());
container.addMessage(message);
}
sub.addMessage(container, message);
}
}
updateSendStats(client, message);