Is there a way to get the List of Topics, applications are using to pub and sub from a broker?
For governance purposes, there is a need to know the topics which are being created by various applications on the broker. As I know (and I might be wrong), there is no intuitive way to get a list of topics under usage on a broker.
As of now, we are not using Event Portal and hence do not have an Event Catalogue.
Answers
-
Hi @Naved, the answer is... it's complicated.
Applications don't really create topics on the broker - there are no real topic artefacts. PubSub+ Topics are dynamic and created _per message_. That means there are effectively an infinite amount of possible topics, and the next message sent may be on a completely new topic.
However, there are artefacts you can query for governance purposes.
You can certainly query the subscriptions clients on your broker have applied. Again, this is quite dynamic (clients come and go, and can add and remove subscriptions at any time). Clients consuming persistent messages will consume from queues. These queues may or may not have subscriptions, as they can be addressed directly (i.e. send this message to _this queue_) which kind of breaks the governance aspect you're looking for. Subscriptions usually use wildcards (e.g.
some/topic/>
) which should provide a good view of your governance if you're using a topic taxonomy.The Event Portal Discovery Agent probes the broker to discover what topics messages have been sent on during the time the Agent is running.
I think what you're probably looking for, though, is which topics are allowed to publish and/or subscribe to what topics. Again, there is extensive use of wildcards. This is governed by Access Control Lists (ACLs). You can query the broker using SEMP to find out what clients must use what ACLs, and you can also query the ACLs themselves. This will give you a list of the allowed topic space for your clients.
1