Nirvana supports filtering
at 2 levels. The 1st is between client and server and
the 2nd is between server and server.
Nirvana dynamically supports the changing filtering
rules.
All Nirvana filtering is handled within the Nirvana
server. This significantly reduces client overhead and
network bandwidth consumption.
Server to Client filtering
Filtered susbscriptions is a mechanism that allows a Nirvana
subscriber to enforce a server side message selector such
that only messages matching that selector are pushed down
the connection. For example if you have a channel containing
BOND trades for multiple bonds and each bond trade message
has a dictionary entry
called BONDNAME indicating what bond the trade was made
on.
If you wanted to receive all trades you would simply
do a:
myChannel.addSubscriber(mySubscriber);
while if you wanted to receive only trades on bond1
you woud do a:
Nirvana's filtering capabilities fully support the
JMS 1.1 message selector format of filtering.
Server to Server filtering
Server to server dynamic content routing is enabled
by specifing filtering selectors to apply across Nirvana
channel joins. For information on how to apply these
filters please see the FAQ on creating
channel joins.