如何识别连接?

How to identify connections?

其中一个 Artemis Web 控制台视图显示了连接。我想确定连接。我想轻松识别哪个连接来自哪个应用程序。我知道我可以设置 Client ID 但据我所知我必须使用 JMS API。 客户端ID可以通过调用org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory#setClientID方法来设置。 ActiveMQConnectionFactory class 放在 org.apache.activemq:artemis-jms-client maven 工件中。

很遗憾,我不使用 JMS API,我也不想使用它。我使用 Artemis 核心 API(来自 org.apache.activemq.artemis.api.core.client 包的 ServerLocatorClientSessionFactoryClientSession 等)。如何识别连接?

我找到了一种设置客户端 ID 的方法。它可以在 org.apache.activemq.artemis.api.core.client.ClientSession 个实例上设置:

public static String JMS_SESSION_CLIENT_ID_PROPERTY = "jms-client-id";
...
session.addMetaData(ClientSession.JMS_SESSION_IDENTIFIER_PROPERTY, "");
session.addMetaData(JMS_SESSION_CLIENT_ID_PROPERTY, "myClientID");