如何通过 JMX 或 EmbeddedActiveMQ 获取有关连接器的信息

How to get information about connectors via JMX or EmbeddedActiveMQ

对于 acceptors,我可以获得 embeddedActiveMQ.getActiveMQServer().getAcceptors()AcceptorControl

之类的数据

但是对于 connectors 我没有找到任何方法来获取数据或 create/delete connector,不是在 JMX 或 EmbeddedActiveMQ 中。

我加了一个broker.xml一个connector

<connectors>
  <connector name="connector1">tcp://192.168.58.6:61716</connector>
</connectors>

而且我认为我通过

获得了有关此 connector 的信息

embeddedActiveMQ.getActiveMQServer().getConnectorsService().getConnectors()

但是这个 returns 尺寸 0。

阿尔忒弥斯版本 2.16.0

如果您使用 JMX 进行管理,那么您可以在 ActiveMQServerControl.

上使用 getConnectorConfigurations() 方法

如果您使用 EmbeddedActiveMQ,那么您可以使用 embeddedActiveMQ.getActiveMQServer().getConfiguration().getConnectorConfigurations().values()。这将为您提供已配置的 Collection<TransportConfiguration> 个连接器。

在此上下文中,接受器和连接器之间的区别在于,接受器是独立的资源,其部署和管理独立于其他任何资源。另一方面,连接器本质上只是一个配置容器,它被 other 组件(例如桥)引用和使用。连接器本身并没有部署。