【问题标题】:List all queue names for a JMSBroker via jndi通过 jndi 列出 JMSBroker 的所有队列名称
【发布时间】:2016-04-17 02:11:33
【问题描述】:

我创建了一个通用 Java JMSBroker 连接器来监控 MQ,并希望添加一个能够列出所有可用队列的方法。我正在使用 JNDI 和 javax.jms api。

对于任何提供商,是否有通用的方法来执行此操作?

我不想在我的代码中导入特定于提供程序的 api。

或者这是不可能的?

【问题讨论】:

  • 嗯希望不要走 jmx 路
  • 据我所知,没有列出队列的通用方法,尽管您的 JMS Provider 实现可能会提供一种方法......
  • @user2642282 我知道 amq 提供了一种方式 getDestinations() 我认为。希望有一种通用的方式,否则我将不得不满足所有不同的实现
  • @user2642282 还使用 jmx(您指向我的链接),您需要为 jms 提供程序 weblogic.management.remote 指定包名称。这不是通用的

标签: java jms jndi


【解决方案1】:

JMS API 没有办法处理这个问题。但是,许多实现都有其允许此类事情的方法。因此,您需要为每个允许队列列表的 JMS 实现制定自定义逻辑。

尽管对 JMS 没有要求,但许多 JMS 解决方案在 JNDI 目录中定义了所有(或至少部分)队列和主题。如果您知道是这种情况 - 您可以向该目录询问所有条目并查找队列。

【讨论】:

    猜你喜欢
    • 2013-11-07
    • 2018-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-12
    • 2012-09-19
    相关资源
    最近更新 更多