public void destroy() { eventSupport.fireBeforeServerStopped(this); kieServerActive.set(false); policyManager.stop(); // disconnect from controller KieServerController kieController = getController(); kieController.disconnect(getInfoInternal()); for (KieServerExtension extension : context.getServerExtensions()) { try { extension.destroy(this, this.context); this.context.unregisterServerExtension(extension); logger.info("{} has been successfully unregistered as server extension", extension); } catch (Exception e) { logger.error("Error when destroying server extension of type {}", extension, e); } } eventSupport.fireAfterServerStopped(this); }