我正在尝试编写一个测试实用程序来列出我连接到的SonicMQ环境中的各个项目。我已经能够列出一些项目,包括经纪人,容器和队列,但主题仍然没有找到我。我已经搜索了API文档并在代码中玩了一些无济于事。
有没有办法在SonicMQ中列出主题?是否有更通用的方法列出所有目的地(队列和主题)? JMS中有什么东西我错过了获取这些信息吗?
答案 0 :(得分:1)
在SonicMQ主题中没有管理对象 - >您可以为所需的任何主题名称创建监听器或发件人。因此,您必须将Runtime API用于管理环境。无法通过配置API执行此操作,本机JMS中也没有任何方法。
在使用Runtime API时,您必须获得 IBrokerProxy 对象。我假设你已经有了一个IBrokerProxy对象。在此对象上,有一组方法可以获取全局和持久订阅。据我所知,没有办法获得其他订阅类型。
要查看持久订阅,您必须首先获得具有持久订阅的用户。这是通过 getUsersWithDurableSubscriptions(String prefix)方法完成的,它将为您提供一个ArrayList,其中所有用户都拥有持久订阅。对于每个用户,您必须调用 getDurableSubscriptions(String user)方法,该方法将返回此用户的持久订阅列表。
要获取所有远程/全局订阅,您可以使用方法getRemoteSubscriptionSummary()。