public List<KieServerExtension> getServerExtensions() { return this.context.getServerExtensions(); }
public void markAsReady() { kieServerReady.set(true); logger.info("KieServer {} is ready to receive requests", KieServerEnvironment.getServerId()); for (KieServerExtension extension : context.getServerExtensions()) { try { extension.serverStarted(); } catch (Exception e) { logger.error("Error when destroying server extension of type {}", extension, e); } } }
private List<Message> updateExtensions(KieContainerInstanceImpl kci, ReleaseId releaseId, List<Message> messages) { String containerId = kci.getContainerId(); List<KieServerExtension> extensions = context.getServerExtensions(); Map<String, Object> parameters = getContainerParameters(releaseId, messages); // once the upgrade was successful, notify all extensions so they can be upgraded (if needed) for (KieServerExtension extension : extensions) { extension.updateContainer(containerId, kci, parameters); logger.debug("Container {} (for release id {}) on {} updated successfully", containerId, releaseId, extension); } return messages; }
protected KieServerInfo getInfoInternal() { Version version = KieServerEnvironment.getVersion(); String serverId = KieServerEnvironment.getServerId(); String serverName = KieServerEnvironment.getServerName(); String versionStr = version != null ? version.toString() : "Unknown-Version"; List<String> capabilities = new ArrayList<String>(); for (KieServerExtension extension : context.getServerExtensions()) { capabilities.add(extension.getImplementedCapability()); } return new KieServerInfo(serverId, serverName, versionStr, capabilities, kieServerLocation); }
@Override public String onMessage(String message) { CommandScript script = deserialize(message, CommandScript.class); String capability = TARGET_CAPABILITY; boolean hasBPMCommand = script.getCommands().stream().anyMatch(cmd -> cmd instanceof DescriptorCommand); if (hasBPMCommand) { capability = KieServerConstants.CAPABILITY_BPM; } KieContainerCommandService<?> executor = null; for (KieServerExtension extension : context.getServerExtensions()) { KieContainerCommandService<?> tmp = extension.getAppComponents(KieContainerCommandService.class); if (tmp != null && extension.getImplementedCapability().equalsIgnoreCase(capability)) { executor = tmp; logger.debug("Extension {} returned command executor {} with capability {}", extension, executor, extension.getImplementedCapability()); break; } } if (executor == null) { throw new IllegalStateException("No executor found for script execution"); } // 4. process request ServiceResponsesList response = executor.executeScript(script, MarshallingFormat.JSON, null); String reply = serialize(response); return reply; }
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); }
List<KieServerExtension> extensions = context.getServerExtensions(); for (KieServerExtension extension : extensions) { extension.deactivateContainer(containerId, kci, parameters);
List<KieServerExtension> extensions = context.getServerExtensions(); for (KieServerExtension extension : extensions) { extension.activateContainer(containerId, kci, parameters);
List<KieServerExtension> extensions = context.getServerExtensions(); for (KieServerExtension extension : extensions) { extension.disposeContainer(containerId, kci, new HashMap<String, Object>());
List<KieServerExtension> extensions = context.getServerExtensions(); for (KieServerExtension extension : extensions) { boolean allowed = extension.isUpdateContainerAllowed(containerId, kci, parameters);
List<KieServerExtension> extensions = context.getServerExtensions(); for (KieServerExtension extension : extensions) { extension.createContainer(containerId, ci, parameters);