使用 QueueExplorer 连接到 ActiveMQ Artemis
Connecting to ActiveMQ Artemis with QueueExplorer
我在使用 Ubuntu 18.04 的本地虚拟机上新安装了 ActiveMQ Artemis。我正在尝试使用名为 QueueExplorer 的 JMS 客户端连接到它。
Cannot read queues from machine 192.168.1.13/ (ActiveMQ).
StackTrace: Cogin.ActiveMQ.AMQException: Could not connect to ActiveMQ: Unable to connect to the remote server
at Cogin.ActiveMQ.Internal.JolokiaConnection.SendJsonRequest(String uriString, JToken requestJson)
at Cogin.ActiveMQ.Internal.JolokiaConnection.RequestBrokerName()
at Cogin.ActiveMQ.Internal.JolokiaRequest.GetMBeanObject(AMQMachineItem machine)
at Cogin.ActiveMQ.Internal.JolokiaConnection.Execute(JolokiaRequest request)
at Cogin.ActiveMQ.Internal.AMQBrokerProxy.GetBrokerInfo(IWorker worker)
at Cogin.ActiveMQ.Services.AMQBrokerService.GetQueuesTree(IWorker worker, Boolean showNonWritableQueues)
at a8.a.e(IWorker A_0)
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at ab.a.e()
Version: QueueExplorer Standard 4.3.15.26129 .Net Framework Version: 4.8.0 OS: Windows 10
我能ping通系统。防火墙未启用,我可以访问 Web 控制台。我按照 this guide 进行了设置,但我想我遗漏了一些东西。 QueueExplorer 需要 Jolokia 和 OpenWire。 Web 控制台使用 Jolokia,但 QueueExplorer 中的错误抱怨它。
使用 QueueExplorer 连接到 ActiveMQ 时,我不需要进行任何配置更改。 Artemis 中是否有额外的步骤来允许客户端连接?
不可能 100% 确定问题出在哪里,因为据我所知,QueueExplorer 是闭源软件。但是,我可以肯定地说 ActiveMQ Artemis 确实 支持 OpenWire 并且它随 Jolokia 一起发布以通过 HTTP 公开其管理 bean(即 MBean)。
我认为问题在于 QueueExplorer 希望在 ActiveMQ Artemis 中找到与 ActiveMQ 5.x 相同的 MBean,而事实并非如此。虽然 ActiveMQ Artemis 支持许多与 ActiveMQ 5.x 相同的特性和功能,但它是一种根本不同的架构,旨在提供更高级别的性能和 protocol/API 不可知的寻址模型。
我认为这里唯一的解决方案是让 QueueExplorer 的作者更新它以使用 ActiveMQ Artemis MBeans。
我在使用 Ubuntu 18.04 的本地虚拟机上新安装了 ActiveMQ Artemis。我正在尝试使用名为 QueueExplorer 的 JMS 客户端连接到它。
Cannot read queues from machine 192.168.1.13/ (ActiveMQ).
StackTrace: Cogin.ActiveMQ.AMQException: Could not connect to ActiveMQ: Unable to connect to the remote server
at Cogin.ActiveMQ.Internal.JolokiaConnection.SendJsonRequest(String uriString, JToken requestJson)
at Cogin.ActiveMQ.Internal.JolokiaConnection.RequestBrokerName()
at Cogin.ActiveMQ.Internal.JolokiaRequest.GetMBeanObject(AMQMachineItem machine)
at Cogin.ActiveMQ.Internal.JolokiaConnection.Execute(JolokiaRequest request)
at Cogin.ActiveMQ.Internal.AMQBrokerProxy.GetBrokerInfo(IWorker worker)
at Cogin.ActiveMQ.Services.AMQBrokerService.GetQueuesTree(IWorker worker, Boolean showNonWritableQueues)
at a8.a.e(IWorker A_0)
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at ab.a.e()
Version: QueueExplorer Standard 4.3.15.26129 .Net Framework Version: 4.8.0 OS: Windows 10
我能ping通系统。防火墙未启用,我可以访问 Web 控制台。我按照 this guide 进行了设置,但我想我遗漏了一些东西。 QueueExplorer 需要 Jolokia 和 OpenWire。 Web 控制台使用 Jolokia,但 QueueExplorer 中的错误抱怨它。
使用 QueueExplorer 连接到 ActiveMQ 时,我不需要进行任何配置更改。 Artemis 中是否有额外的步骤来允许客户端连接?
不可能 100% 确定问题出在哪里,因为据我所知,QueueExplorer 是闭源软件。但是,我可以肯定地说 ActiveMQ Artemis 确实 支持 OpenWire 并且它随 Jolokia 一起发布以通过 HTTP 公开其管理 bean(即 MBean)。
我认为问题在于 QueueExplorer 希望在 ActiveMQ Artemis 中找到与 ActiveMQ 5.x 相同的 MBean,而事实并非如此。虽然 ActiveMQ Artemis 支持许多与 ActiveMQ 5.x 相同的特性和功能,但它是一种根本不同的架构,旨在提供更高级别的性能和 protocol/API 不可知的寻址模型。
我认为这里唯一的解决方案是让 QueueExplorer 的作者更新它以使用 ActiveMQ Artemis MBeans。