【问题标题】:how to get activeMQ queue name from command line?如何从命令行获取 activeMQ 队列名称?
【发布时间】:2016-08-02 06:30:24
【问题描述】:

我需要在运行了 activeMQ 的远程主机上运行测试,并且我想通过将队列名称与本地文件进行比较来验证队列名称是否正确。我使用 bstat 来获取 activeMQ 的状态,然后对具有destionName 的部分进行grep,但我想知道是否有更好的方法可以通过命令行或shell 而不是java?

提前致谢!

【问题讨论】:

    标签: activemq


    【解决方案1】:

    您可以使用命令行工具“a”。

    a -b tcp://remote-broker-hostname:61616 --list-queues

    会打印

    Queues:
    Queue4
    DELAYED
    ChatMessages
    Operation completed in 22ms (excluding connect)
    

    它是用java编写的。

    免责声明:我是该工具的作者。

    【讨论】:

      【解决方案2】:

      尝试 activemq query 命令与 -QQueue 和 -view 参数一起使用。

      #apache-activemq-5.10/bin/activemq query  -QQueue=* --view Name | grep Name
      
      Name = test.queue
      Name = notification-q
      

      您可以传递具有适当值的参数“--jmxurl”以与远程 ActiveMQ 服务器通信。

      【讨论】:

        【解决方案3】:

        我使用这个工具jmxterm 来获取 ActiveMQ 队列统计信息并从 bash 脚本验证队列消费者。

        以下命令连接到本地主机上的 AMQ 运行以获取队列“MyQueue”的少量统计信息

        open service:jmx:rmi://localhost:44444/jndi/rmi://localhost:1099/karaf-root -u user -p password
        get -s -d org.apache.activemq -b BrokerName=default,Destination=MyQueue,Type=Queue QueueSize EnqueueCount DequeueCount ConsumerCount
        

        【讨论】:

          猜你喜欢
          • 2014-08-14
          • 1970-01-01
          • 1970-01-01
          • 2013-02-18
          • 1970-01-01
          • 2013-11-07
          • 2019-04-17
          • 1970-01-01
          • 2019-08-11
          相关资源
          最近更新 更多