{
//If we're not routing from the cluster OR the queue is unreliable then we consider it
//When we route from the cluster we never route to reliable queues
Filter filter = queue.getFilter();
if (filter == null || filter.accept(ref.getMessage()))
{
if (trace) { log.trace(this + " Added queue " + queue + " to list of targets"); }
targets.add(queue);
if (ref.getMessage().isReliable() && queue.isRecoverable())
{
localReliableCount++;
}
}
}
}
else if (!fromCluster)
{
//Remote queue
if (trace) { log.trace(this + " is a remote queue"); }
if (!queue.isRecoverable() && queue.isClustered())
{
//When we send to the cluster we never send to reliable queues
Filter filter = queue.getFilter();
if (filter == null || filter.accept(ref.getMessage()))
{
if (remoteSet == null)
{
remoteSet = new HashSet();
}