Я хочу использовать spring для управления приложением через mbeans, но целевое приложение mbean objectName является динамическим, то есть оно создает новые mbeans и уничтожает некоторые mbean при его запуске.
@Configuration
class JmxConf(@Value("\${url.kafka-connect-jmx}") private val connectJmxUrl: String) {
@Bean("connectMBeanServerConnection")
fun mBeanServerConnectionFactory(): MBeanServerConnectionFactoryBean =
MBeanServerConnectionFactoryBean().apply {
this.setServiceUrl(connectJmxUrl)
}
@Bean("connectMBeanProxy")
fun mBeanProxyFactory(connectMBeanServerConnection: MBeanServerConnection): MBeanProxyFactoryBean =
MBeanProxyFactoryBean().apply {
this.setServer(connectMBeanServerConnection)
this.setProxyInterface(BinlogReaderMetricsMXBean::class.java)
this.setObjectName("debezium.mysql:type=connector-metrics,context=binlog,server=jf")
}
}
IЯ сейчас использую MBeanProxyFactoryBean, но, кажется, не могу решить динамическое имя объекта.
Целевое имя объекта mbean:
debezium.mysql:type=connector-metrics,context=binlog,server=<database.server.name>
Список <database.server.name>
при добавлении или удалении, когда приложениеработает.
Есть предложения по этому поводу?