Documentation > Programming Guide > Basic Subscriptions

Basic Subscriptions

As a default, subscriptions use exact matching, i.e. a subscriber for topic com.myapp.topic1 will receive events for publications to topic com.myapp.topic1 only. (There are also pattern-based subscriptions which can be selected via an option when subscribing.)

Note: There are some specific rules regarding the formatting of URIs used to identify topics.

WAMP mandates a single subscription per session for each URI. If a client issues a second subscription request for an URI, the WAMP router returns the same subscription ID (as it would for any other client issuing a subscription request for this URI). Only a single event is dispatched to the subscriber, irrespective of how many subscription requests it has issued.

WAMP client libraries may allow multiple independent registrations from within the code which can be managed separately, but this is above the WAMP protocol level. For an example of this, see the Autobahn|JS documentation.

Here's an example for a simple subscription in JavaScript using Autobahn|JS:

session.subscribe("com.myapp.topic1", myTopicHandler);

This is equivalent to

session.subscribe("com.myapp.topic1", myTopicHandler, { match: "exact" });

With exact matching, there is no need to explicitly set the matching policy as an option.