private fun getMBeanServer(): MBeanServer? {
var mbeanServer: MBeanServer? = null
var servFound = false
val servers = MBeanServerFactory.findMBeanServer(null)
if (servers != null && (servers.size > 0)) {
for (server in servers) {
val defaultDomain = server.defaultDomain
if (defaultDomain != null && defaultDomain == "jboss") {
mbeanServer = server
servFound = true
}
}
if (!servFound) {
mbeanServer = ManagementFactory.getPlatformMBeanServer()
}
}
return mbeanServer
}
private fun deactivateService(mbeanServer: MBeanServer, event: ServiceStartedEvent) {
val serviceManagementObjectName = ObjectName(ServiceManagementMBean.OBJECT_NAME)
val proxy = JMX.newMBeanProxy(mbeanServer, serviceManagementObjectName, ServiceManagementMBean::class.java)
proxy.deactivate(event.service)
}
Call both methods from onServiceStartedEvent function.