Joining a channel
to another allows you to set up content routing such
that events on the source channel will be passed on
to the destination channel also. Joins also support
the use of filters thus enabling dynamic content routing.
Channels can be joined
programatically or by using the Nirvana Enterprise
Manager GUI.
A sample application to provide channel joins called
nmakechanjoin is also provided in the client bin directory
of the Nirvana installation. For further information
on this example please see the nmakechanneljoin
example or simply run the application without any paramaters.
For more information please see the Nirvan
API documentation.
In order to join channels from different Realms using
the Enterprise Manager GUI it is necessary to first
of all add both Realms into a single namespace. For
instructions on this please see the adding
realms FAQ.
Once you have added two or more Realms to a single
namespace the following two steps can be uesd to create
channel joins. In these examples 1 Realm has been added
to another Realms namespace under the mountpoint /eur
as illustrated below:
In the example provided below the channel /global/rates
on the nirvana Realm will be joined to the channel /global/rates
which resides on a Realm which is mounted under /eur.
Step 1: Choose the Join Channel dialogue
by right clicking on the source channel.

Step 2: In the join dialogue box specify
the name of the channel to join. Also specify any filter
that you wish to be applied to the join. In this case
the filter states that only events with a key called
DESTINATION witha value of 'eur' will be moved to the
destination channel ( /eur/global/rates). If you would
like to limit the number of Hops that an event can make
then specify a hop count. If none is specified then
the event will be passed on via any subsequent joins
which may be in place at the destination channel.

Once the joins have been added if you click on the
joins table for /global/rates you will see that there
is one outgoing join which has a filter applied. This
means that any event published to the channel will be
passed on to the specified channel providing the the
filter criteria is met.

If you click on the destination channel (/eur/global/rates)
you will see that it has an incomming join.

|