Copyright © TIBCO Software Inc. All Rights Reserved

> Multicast Messaging Example
> This section demonstrates how to use multicast messaging, as described in Multicast.
> In this example, you will enable multicast in the EMS server and configure a multicast channel, over which the server can broadcast multicast messages. You will also create a multicast-enabled topic named multicastTopic and associate it with the multicast channel, allowing subscribers to receive messages published to multicastTopic over multicast.
> Multicast channels can only be configured statically by modifying the configuration files. There are no commands in the administration tool to configure multicast channels.
> Stop the EMS Server
> Stop the server by using the shutdown command in the administration tool:
> tcp://localhost:7222> shutdown
> You will be asked to restart the server once it has been configured for multicast.
> Enable the EMS Server for Multicast
> To enable multicast in the server, set the multicast property to enabled in the tibemsd.conf configuration file:
> multicast = enabled
> Create a Multicast Channel
> The EMS server broadcasts messages to consumers over multicast channels. Each channel has a defined multicast address and port. Messages published to a multicast-enabled topic are sent by the server and received by the subscribers on these multicast channels.
> To create a multicast channel, add the following definition to the multicast channels configuration file, channels.conf:
> [multicast-1]
> address=234.5.6.7:1
> Start the EMS Server
> Start the EMS server as described in Running the EMS Server.

> | On a computer running Windows, you can also start the EMS server from the Start menu, following the path Programs > TIBCO > TIBCO EMS 6.1 > Start EMS server.

> In the administration tool, use the show topics command to confirm that multicastTopic is multicast-enabled as indicated by a ‘+’ in the M column:
> tcp://localhost:7222> show topics
> Topic Name SNFGEIBCTM Subs Durs Msgs Size
> multicastTopic ---------+ 0 0 0 0.0 Kb
> Enable a Topic for Multicast
> In order to make a topic multicast-enabled it must be associated with a multicast channel through its channel property.
> To create a multicast-enabled topic, use the administration tool to issue the following command:
> > create topic multicastTopic channel=multicast-1
> Start the Multicast Daemon
> Start the Multicast Daemon as described in Starting the Multicast Daemon.
> Start the Subscriber Client
> Creating a multicast subscriber follows the same steps as creating a non-multicast subscriber, except that a multicast subscriber requires a session acknowledgment mode of com.tibco.tibjms.Tibjms.NO_ACKNOWLEDGE.
> To start user1 as a multicast subscriber:

> 1. | In a command line window, navigate to the EMS_HOME/samples/java folder.

> 2. | Enter setup to set the environment and classpath:

> > setup

> 3. | Execute the tibjmsMsgConsumer client to assign user1 as a subscriber to the multicastTopic topic with a Session acknowledgment mode of NO_ACKNOWLEDGE:

> > java tibjmsMsgConsumer –topic multicastTopic –user user1 –ackmode NO

> 4. | In the administration tool, use the show consumers command to confirm that user1 is a multicast subscriber to multicastTopic as indicated by a + in the M column:

> tcp://optimist:7222> show consumers topic=multicastTopic

> | Id | Conn | User | T | Topic | SASNM | Pend Msgs | Pend Size | Uptime
> | 2 | 4 | user1 | T | multicastTopic | +N--+ | 0 | 0 | 0:03:17

> Start the Publisher Client and Send Messages
> Setting up a client to publish multicast message is no different from setting up a client to send publish and subscribe messages. Because the topic is enabled for multicast in the EMS server, the message producer does not need to follow any additional steps.
> To create the message publisher:

> 1. | In a new command line window, navigate to the EMS_HOME/samples/java folder.

> 2. | Enter setup to set the environment and classpath:

> > setup

> 3. | Execute the tibjmsMsgProducer client to direct user1 to publish some messages to the multicastTopic topic:

> > java tibjmsMsgProducer -topic multicastTopic -user user1 hello multicast
> where ’hello’ and ’multicast’ are separate messages.

> | In this example, user1 is both a publisher and subscriber.

> The messages are displayed in the subscriber’s window.

Copyright © TIBCO Software Inc. All Rights Reserved