This is archived documentation for an older version of Nirvana (v3.1). Please refer to documentation for the latest version if required.

Creating a channel join programatically

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 as they are published top the source chanenl. Joins also support the use of filters thus enabling dynamic content routing.

Channels can be joined using the Nirvana Enterprise Manager GUI or progrmatically.

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 );

Channel joins can also be deleted. Please see the delete channel join example for more informaiton.