This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.
Managing Tenant-specific Subscriptions
A tenant specific subscription exists when an external client application subscribes to a queue or a topic that is specific to a particular MB tenant. This section covers the following topics relating to tenant specific subscriptions.
Creating a tenant-specific subscription
When sending or consuming messages to/from this queue/topic using an external client application, or when creating a queue/topic from an external JMS client, the queue/topic name should include the domain prefix. This is further illustrated by the further use case.
Usecase
Subscribe for messages published in a queue named ABCQueue
that is specific to the MB tenant abc.com
.
Execution steps
WSO2 ESB can be used in this scenario to subscribe to the tenant specific queue named ABCQueue
 in WSO2 Message Broker.
- Set up WSO2 Message Broker as described in Setting up WSO2 Message Broker in the description for integrating WSO2 ESB. Log into the management console in the super tenant mode by using
admin
as both the user name and password. Create a tenant named
abc.com
in the WSO2 MB management console with the following values. See Managing Tenants for instructions to create tenants.Parameter Value Domain abc.com Select Usage Plan for Tenant Demo First Name ABC Last Name DEF Admin Username abc New Admin Password abcdef Email abc@gmail.com - Download and install WSO2 ESB according to the instructions in Getting Started. The unzipped ESB distribution folder is referred to asÂ
ESB_HOME
. Enable the JMS transport of WSO2 ESB to communicate with the Message Broker by editing theÂ
<ESB_HOME>/repository/conf/axis2/axis2.xml
 file. Find a commentedÂ<transport receiver>
 block for MB  and uncomment it as shown below.<!--Uncomment this and configure as appropriate for JMS transport support with WSO2 MB 2.x.x --> <transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener"> ….. </parameter> </transportReceiver>
Also, uncomment theÂ
<transport sender>
 block for JMS in the same file as shown below.<transportSender name="jms" class="org.apache.axis2.transport.jms.JMSSender"/>
- Copy the following jar files from theÂ
<MB_HOME>/clent-lib
 folder to theÂ<ESB_HOME>/repository/components/lib
 folder.Âandes-client-0.13.wso2v8
geronimo-jms_1.1_spec-1.1.0.wso2v1
Open theÂ
<ESB_HOME>/repository/conf/
JNDI.proerties
 file. Add a new queue connection factory, a topic connection factory and a queue in it as shown below.# register some connection factories # connectionfactory.[jndiname] = [ConnectionURL] connectionfactory.QueueConnectionFactory = amqp://abc!abc.com:abcdef@carbon/carbon?brokerlist='tcp://localhost:5673' connectionfactory.TopicConnectionFactory = amqp://abc!abc.com:abcdef@carbon/carbon?brokerlist='tcp://localhost:5673' # register some queues in JNDI using the form # queue.[jndiName] = [physicalName] queue.TestTenantSubs=abc.com/TestTenantSubs
 In this configuration, the user name of the
abc.com
tenant in the connection factory entries is given as a fully qualified name. TheÂ@
symbol is replaced by the !
symbol.Since the queue name is prefixed by the tenant domain when it is created in the Message Broker, it is entered in the same way (i.e.Â
abc.com/TestTenantSubs
)Â in theÂJNDI.proerties
 file.Create a proxy service named
TestTenantSubs
with the following configuration in WSO2 ESB. See Working with Proxy Services for further information. This proxy service will serve as a subscriber to the tenant-specific queue that will be automatically created in the MB management console.<?xml version="1.0" encoding="UTF-8"?> <proxy xmlns="http://ws.apache.org/ns/synapse" name="TestTenantSubs" transports="jms" statistics="disable" trace="disable" startOnLoad="true"> <target> <inSequence> <log level="full"/> <property name="OUT_ONLY" value="true" scope="default" type="STRING"/> <send> <endpoint> <address uri="http://localhost:9000/services/SimpleStockQuoteService"/> </endpoint> </send> </inSequence> </target> <description/> </proxy>
Viewing a tenant-specific subscription
This section describes how to view the tenant-specific subscription you created.
Log into the MB management console using the credentials of the tenant you created in the Creating a Tenant-specific subscription section, which are as follows.
User Name abc@abc.com Password abcdef A tenant-specific queue/topic can be viewed in the management console only when you are logged in as the relevant tenant.
- Click Browse under Queues in the Main tab. The Queue List page will open where the tenant specific queue generated via the subscription made by theÂ
TestTenantSubs
proxy service is displayed as follows.