🎄 Happy Holidays! 🥳
Most of Solace is closed December 24–January 1 so our employees can spend time with their families. We will re-open Thursday, January 2, 2024. Please expect slower response times during this period and open a support ticket for anything needing immediate assistance.
Happy Holidays!
Please note: most of Solace is closed December 25–January 2, and will re-open Tuesday, January 3, 2023.
How to find out what subscriptions a client has
Firstly, there are two types of “subscribers” in Solace:
- Direct client subscribers, who get messages directly from a topic. These are typically market data style clients, who do not need a guarantee of no data loss;
- Queue consumers. These clients cannot tolerate any message loss. The queue itself subscribes to the topic.
Interactively using PubSub+ Broker Manager
To find out who is subscribing interactively using PubSub+ Broker Manager, open your web browser and open the broker IP address (e.g. solace-appliance1). You’ll see the PubSub+ Broker Manager open up. Click on the Message VPN of interest, then on the “Client Connections” menu item on the left. This will open the Client Connections Screen. Click “Solace Clients” and you should see a list of clients like this:
The top entry is my client of interest: there is no # at the beginning of its name (a # at the start of a client name represents a system client) and you can see the name starts with my laptop name. Click on the client name, then “Subscriptions” across the top and you should see something like:
Here you can see my client is subscribed to “another/topic”. The “#P2P” topic is the system generated unique topic used for request/reply messages.
Now let’s imagine my client is consuming from a queue. This time, in the Client Connections screen, open the “Consumers” tab:
You can see this time my client is consuming from Queue “Q”. So I go the queues menu item on the left hand side and pick Queue Q, the select the “Subscriptions” tab at the top of that screen. I can now see the subscriptions that Queue “Q” has and so my client is currently consuming from the queue:
Using CLI
If you’d like to use the CLI, the following commands are what you need:
For direct (non-queued) subscriptions: show client <client name> subscriptions
To find which queue a client is consuming from:
show client Thomass-MacBook-Pro-6.local/3116/#000a0001/wHB7-ReDdO message-spool
and look for “Message Spool Egress,” something like this:
Message Spool Egress Name / FlowId Established Type Transacted Session Name --------- ----------------------- ------- -------------------------------- 1 2021-02-11 10:06:14 UTC queue Q
So here we can see we’re consuming from Queue Q. To find the subscriptions on queue Q:
show queue <name> message-vpn <name> subscriptions
Using the API (SEMP)
If you need to get the subscriptions programmatically, you can use our REST based API, SEMP.
To get the subscrptions for a client, use GET SEMP/v2/monitor/msgVpns/{msgVpnName}/clients/{clientName}/subscriptions
To get the subscriptions on a queue,
get the TxFlows (a flow is a broker object that sends messages from a queue) for your client: GET SEMP/v2/monitor/msgVpns/{msgVpnName}/clients/{clientName}/txFlows
Look up the endpoint from the flow of interest: GET SEMP/v2/monitor/msgVpns/{msgVpnName}/clients/{clientName}/txFlows/{flowId},
and look for the “endpoint” field
use GET SEMP/v2/config/msgVpns/{msgVpnName}/queues/{queueName}/subscriptions
Comments
-
I was looking for exactly this!.. thank you.
3 -
A pleasure @KarthikThotapalli !
0