A Topic is a subject to which publishers route messages so that the subscribers of that topic can receive the messages. Topics are commonly used in messaging systems. They enable you to publish message related to a particular sector under one category. A Topic typically has a name that is relevant to the messages being published to it. For example, to publish messages related to sports, you can create a topic by the name SportsNews
and publish all messages related to sports news under it. Users can look up different topics in the topic tree, subscribe to selected topics and receive messages that are published under that topic by publishers. This way, a user can receive all messages related to a particular area, routed by different publishers.
You can create and manage topics through the management console of the CEP as described in the following steps:
- Log in to the CEP management console and select Add menu under the Topics menu.
- Fill in the topic name and permissions and click Add Topic.
All user roles currently created in the server appears under Permissions. Each role can subscribe and/or publish to a topic.- Subscribe permission: Users who are assigned this role receive messages that are published under the topic
- Publish permission: Users who are assigned this role can publish messages to this topic so that subscribers can receive them
- After adding the topic, the Topic Browser appears. Topic browser displays all topics available in the local broker in a tree view.
The Topic Browser does not display any operations available for the topic initially. Click on the topic to see the operations as follows:
The operations are as follows:Add subtopic
Used to add a topic under an existing topic. Similar to adding a new topic directly to the root, you must provide a subtopic name and set permissions separately to different user roles.
Subscribe to a topic
When you click the Subscribe link, the following form opens:
The fields in the form are described below:Detail Description Topic* Topic name appears automatically. Subscription Mode* The following subscription modes are available:
- Topic Only: This is the default mode for subscriptions. It creates the subscription only to the topic and subscribers receive events that are published only to that topic.
- Immediate Children: Subscribers receive events published to this topic and all its immediate child topics.
- Topic and Children: Subscribers receive events published to this topic and all its children.
Note: When the second/third options are selected, a user is automatically subscribed to immediate/all child topics, even if a given child topic restricts subscribe permission to the role.
Event Sink URL URL that the subscriber provides to receive published events. When events are published to the topic, they are sent to the URL specified here. Expiration Time Time period for the subscription to be valid. It expires after that. If you leave this blank, the subscription will never be expired. Unsubscribe or renew a subscription
When you click the Details link, the following topic details appear:
Detail Description Permission Details Topic permissions given to each role appear here. You can change the permissions by checking/unchecking the provided check boxes and clicking Update Permissions. WS Subscription Details All WS subscriptions for the topic and its children. A WS subscription happens when you subscribe to the topic as explained in section Subscribe. You also get links to unsubscribe and renew an expired subscription here. JMS Subscription Details For each WS subscription, a JMS subscription is created under the hood. This is not exposed to the user. Publish Used to publish a sample XML message to a topic. Once there is a subscription to the topic, the event sink URL receives this published XML message. once its click on the publish button after placing a xml message in the provided space. Delete a subscription
This will delete the topic from the server. To delete a topic , subscription count for that topic and its children should be zero. Otherwise it will prompt an error message specifying that there are subscriptions for the topic or its children.