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.
In joining two Nirvana channels there is one compulsory
option and two optional ones. The compulsory option
is the destination channel. The optional parameters
are the maximum join hops and a JMS message selector
to be applied to the join.
Channel joins can be created using the nmakechanjoin
join sample application which is provided in the bin
directory of the Nirvana installation. For further information
on using this example please see the nmakechanjoin
example page.
Nirvana joins are created as follows:
//Obtain a reference to the source channel
nChannel mySrcChannel = mySession.findChannel( nca
);
//Obtain a reference to the destination channel
nChannel myDstChannel = mySession.findChannel( dest
);
//Obtain a reference to the destination channel's
realm
nRealm realm = myDstChannel.getChannelAttributes().getRealm();
//create the join
mySrcChannel.joinChannel( myDstChannel, true, jhc,
SELECTOR );
For further example code demonstrating channel joins
please see the Nirvana joins
example.