Конфигуратор для анализа файлов конфигурации на основе Groovy не поддерживает jmxConfigurator, как в файлах конфигурации на основе XML.Но мы все еще можем написать метод в нашем файле конфигурации Groov для инициализации JMX Configurator.
Если мы посмотрим на исходный код Logback, мы увидим, что это файл ch.qos.logback.classic.joran.action.JMXConfigurationAction выполняет настройку JMX из конфигурации на основе XML.Мы можем использовать этот код в качестве примера для версии Groovy.
def jmxConfigurator() {
def contextName = context.name
def objectNameAsString = MBeanUtil.getObjectNameFor(contextName, JMXConfigurator.class)
def objectName = MBeanUtil.string2ObjectName(context, this, objectNameAsString)
def platformMBeanServer = ManagementFactory.getPlatformMBeanServer()
if (!MBeanUtil.isRegistered(platformMBeanServer, objectName)) {
JMXConfigurator jmxConfigurator = new JMXConfigurator((LoggerContext) context, platformMBeanServer, objectName)
try {
platformMBeanServer.registerMBean(jmxConfigurator, objectName)
} catch (all) {
addError("Failed to create mbean", all)
}
}
}
jmxConfigurator()
Я сам не тестировал этот код, но надеюсь, что общая идея ясна.