【问题标题】:How to clean MBean context of QuickFIX/J properly?如何正确清理 QuickFIX/J 的 MBean 上下文?
【发布时间】:2021-10-28 19:10:21
【问题描述】:

我有 2 个 Java 集成测试,每个测试都使用相同的属性文件创建 QuickFIX/J FIX 会话。

当我尝试启动连接器时运行第二个测试时,QuickFIX/J 创建会话并尝试为其注册 MBean。在两个测试中,会话具有相同的名称,因此第二个测试的 MBean 的 ObjectName 相同,并且其注册失败。

QuickFIX/J 注销/清除可用于测试的 MBean 的正确方法是什么?

【问题讨论】:

  • 我觉得您自己正在做一些事情来注册 MBean,对吧?据我所知,QFJ 不会自己做。并且没有像这里概述的那样取消注册工作吗? quickfixj.org/usermanual/2.3.0/usage/jmx.html
  • @ChristophJohn 我不手动做任何事情(除了 jmx 端口的配置)。在 AbstractSocketAcceptor.createSessions() -> SessionConnector.setSessions() -> ConnectorAdmin.registerSessions() bean 中,当我调用 SessionConnector.start() 时注册了会话
  • 如果我点击您的链接,我看到它描述了如何注册连接器本身。但我的问题与会话注册有关。
  • 我在代码中没有看到。您使用的是哪个版本的 QFJ?
  • @ChristophJohn 这是 2.1.1

标签: quickfixj


【解决方案1】:

问题在于对连接器对象的 JmxExporter 调用。它导致稍后为会话注册 JMX bean。请参阅 Christoph John 的回复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-06
    • 1970-01-01
    • 2022-10-19
    • 2015-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多