Nirvana Enterprise Manager - Creating Channel Joins

This section describes the process of joining channels on Nirvana realms. Channels are the logical rendezvous point for data that is published and subscribed.

Channels can be joined programatically or by using the Nirvana Enterprise Manager as described below.

Joining channels using the Enterprise Manager creates a physical link between 2 channels, a source channel and a destination channel. Once created, any events published to the source channel will be republished onto the destination channel.

Joins can be created using filters, so that only specific events published to the source channel that match a criteria will be routed to the destination channel.

Joins can also be created between cluster channels where the source and destination are cluster channels, and non-clustered channels. The only restriction here being that joins cannot be created between a cluster channel on one realm and the same cluster channel on another realm.

Nirvana also supports joins where the destination (incoming) is a queue. Nirvana does not support joins where the source of the join is a queue.

The image below shows a set of realms that is part of a cluster 'productioncluster'. There exists within this cluster, a cluster channel called '/eur/rates'.

By selecting the cluster channel '/eur/rates' on the productionmaster realm, and right-clicking you can select the 'Join Channel' menu option, you will be presented with the join dialog. This allows you to create a join between the clustered channel and any other channel in any realm.

In this example, the realm 'productionmaster' contains a channel called /local/rates. If we select this channel as the channel we wish to join to as shown in the join dialog below, with a filter of CCY='EUR' this will ensure that only those events with the event property CCY equals to 'EUR' will be published to the '/local/rates' channel.

Clicking on the 'OK' button will create the join. By selecting the 'Joins' tab panel for the '/eur/rates' channel you will be presented with a panel that shows the join just created, as shown in the image below. Selecting the newly created join will also show you any relevant filtering criteria that the join has been created with.

The table that shows the joins for a channel will indicate in the 'Type' column whether the join is 'Outgoing' or 'Incoming'. An outgoing join indicates that the selected channel is the source for the join, whereas 'Incoming' will indicate the selected channel is the destination channel.

It is also possible to delete the join by selecting a join from the joins table, and clicking the 'Delete Join' button. Joins can only be deleted in the Enterprise Manager from the source (outgoing) channel. If the destination channel (incoming) is selected, the 'Delete Join' button will be disabled.