If a JMS message sent to a local topic includes a message selector, will a remote MDB consumer of the message extract the complete message before filtering based upon the selector, or only extract the message header and properties? I need to limit my network bandwidth for certain consumers of messages (each message is only consumed by a single consumer), and I am trying to decide whether I can use a single topic or whether I need separate queues for each consumer. If I use a single topic, I don't want the message body delivered to each subscriber before the subscriber decides it does not want that message.
I think it varies depending on your server implementation and what you are using to filter messages. For example, in WebSphere you can use the WebSphere Message Broker or mediation queues that only read the header information and parse based on that rather than reading/parsing the entire message.