Collection<String> kbases = kieContainerInstance.getKieContainer().getKieBaseNames(); for (String kbase : kbases) { kieContainerInstance.getKieContainer().getKieBase(kbase); try { logger.debug("Adding {} type into extra jaxb classes set", type); Class<?> clazz = Class.forName(type, true, kieContainerInstance.getKieContainer().getClassLoader()); kieContainerInstance.addExtraClasses(extraClasses);
@Override public String locateContainer(String alias, List<? extends KieContainerInstance> containerInstances) { if (containerInstances.isEmpty()) { return alias; } logger.debug("Searching for latest container for alias {} within available containers {}", alias, containerInstances); List<ComparableVersion> comparableVersions = new ArrayList<ComparableVersion>(); Map<String, String> versionToIdentifier = new HashMap<String, String>(); containerInstances.forEach(c -> { if (c.getStatus().equals(KieContainerStatus.STARTED)) { comparableVersions.add(new ComparableVersion(c.getKieContainer().getReleaseId().getVersion())); versionToIdentifier.put(c.getKieContainer().getReleaseId().getVersion(), c.getContainerId()); } } ); ComparableVersion latest = Collections.max(comparableVersions); logger.debug("Latest version for alias {} is {}", alias, comparableVersions); return versionToIdentifier.get(latest.toString()); }
public String marshal(String containerId, String marshallingFormat, Object entity, ContainerLocator locator) { MarshallingFormat format = getFormat(marshallingFormat); if (format == null) { throw new IllegalArgumentException("Unknown marshalling format " + marshallingFormat); } KieContainerInstance containerInstance = registry.getContainer(containerId, locator); if (containerInstance == null) { throw new IllegalArgumentException("No container found for id " + containerId + " ."); } Marshaller marshaller = containerInstance.getMarshaller(format); if (marshaller == null) { throw new IllegalArgumentException("No marshaller found for format " + format); } return marshaller.marshall(entity); }
boolean hasDefaultSession = false; InternalKieContainer kieContainer = (InternalKieContainer)kieContainerInstance.getKieContainer(); Collection<String> kbaseNames = kieContainer.getKieBaseNames(); Collection<String> ksessionNames = new ArrayList<String>(); return; ReleaseId releaseId = kieContainerInstance.getKieContainer().getReleaseId(); KieServerConfig config = new KieServerConfig(kieContainerInstance.getResource().getConfigItems()); kieContainerInstance.addExtraClasses(customClasses); InputStream qdStream = definitionsURL.openStream(); loadAndRegisterQueryDefinitions(qdStream, kieContainerInstance.getMarshaller(MarshallingFormat.JSON), id);
@Override public CommandExecutor lookupKieSession(String kieSessionId, KieContainerInstance containerInstance, KieServerRegistry registry) { CommandExecutor ks = null; if( kieSessionId != null ) { KieSessionModel ksm = ((KieContainerImpl)containerInstance.getKieContainer()).getKieSessionModel(kieSessionId); if( ksm != null ) { switch (ksm.getType() ) { case STATEFUL: ks = ((KieContainerImpl)containerInstance.getKieContainer()).getKieSession(kieSessionId); break; case STATELESS: ks = ((KieContainerImpl)containerInstance.getKieContainer()).getStatelessKieSession(kieSessionId); break; } } return ks; } return null; } }
public ExecutionResults call(KieContainerInstance kci, BatchExecutionCommand executionCommand) { BatchExecutionCommandImpl command = (BatchExecutionCommandImpl) executionCommand; if (kci != null && kci.getKieContainer() != null) { // find the session CommandExecutor ks = null; if( command.getLookup() != null ) { ks = context.getKieSessionLookupManager().lookup(command.getLookup(), kci, context); } else { // if no session ID is defined, then the default is a stateful session ks = ((KieContainerInstanceImpl)kci).getKieContainer().getKieSession(); } if (ks != null) { applyListeners(ks); ExecutionResults results = ks.execute(command); return results; } else { throw new IllegalStateException("Session '" + command.getLookup() + "' not found on container '" + kci.getContainerId() + "'."); } } throw new IllegalStateException("Unable to execute command " + command); }
if (container.getStatus().equals(KieContainerStatus.FAILED)) { healthMessages.add(new Message(Severity.ERROR, String.format("KIE Container '%s' is in FAILED state", container.getContainerId()) ));
Set<Class<?>> classes = kci.getExtraClasses(); Class foundClass=this.getClassFromName(classes,className); if (foundClass!= null) {
@SuppressWarnings("unchecked") @Override public void createContainer(String id, KieContainerInstance kieContainerInstance, Map<String, Object> parameters) { if (!initialized) { return; } List<Message> messages = (List<Message>) parameters.get(KieServerConstants.KIE_SERVER_PARAM_MESSAGES); try { DeployedUnit deployedUnit = deploymentService.getDeployedUnit(id); if(deployedUnit != null) { String kieBaseName = ((KModuleDeploymentUnit)deployedUnit.getDeploymentUnit()).getKbaseName(); KieContainer kieContainer = kieContainerInstance.getKieContainer(); imageReferences.putIfAbsent(id, new ImageReference(kieContainer, kieBaseName)); formRendererBase.indexDeploymentForms(id); } } catch (Exception e) { messages.add(new Message(Severity.WARN, "Unable to create image reference for container " + id +" by extension " + this + " due to " + e.getMessage())); logger.warn("Unable to create image reference for container {} due to {}", id, e.getMessage(), e); } }
Set<Class<?>> classes = kci.getExtraClasses(); Class foundClass = this.getClassFromName(classes, className); if (foundClass != null) {
Collection<String> kbases = kieContainerInstance.getKieContainer().getKieBaseNames(); for (String kbase : kbases) { kieContainerInstance.getKieContainer().getKieBase(kbase); try { logger.debug("Adding {} type into extra jaxb classes set", type); Class<?> clazz = kieContainerInstance.getKieContainer().getClassLoader().loadClass(type); kieContainerInstance.addExtraClasses(extraClasses);
public ChtijbugObjectRequest FireAllRulesAndStartProcess(KieContainerInstance kci, ChtijbugObjectRequest chtijbugObjectRequest, String processID, String sessionName) { Object result = null; try { if (kci != null && kci.getKieContainer() != null) { KieContainer kieContainer = kci.getKieContainer(); ruleBasePackage = new RuleBaseSingleton(kieContainer, 20000); } ChtijbugHistoryListener chtijbugHistoryListener = new ChtijbugHistoryListener(); RuleBaseSession session = ruleBasePackage.createRuleBaseSession(20000, chtijbugHistoryListener, sessionName); result = session.fireAllRulesAndStartProcess(chtijbugObjectRequest.getObjectRequest(), processID); SessionContext sessionContext = this.messageHandlerResolver.getSessionFromHistoryEvent(chtijbugHistoryListener.getHistoryEventLinkedList()); chtijbugObjectRequest.setSessionLogging(sessionContext); chtijbugObjectRequest.setObjectRequest(result); logger.debug("Returning OK response with content '{}'", chtijbugObjectRequest.getObjectRequest()); return chtijbugObjectRequest; } catch (DroolsChtijbugException e) { e.printStackTrace(); } throw new IllegalStateException("Unable to execute command " + chtijbugObjectRequest.getObjectRequest()); } }
public <T> T unmarshal(String containerId, String data, String marshallingFormat, Class<T> unmarshalType, ContainerLocator locator) { if (data == null || data.isEmpty()) { return null; } MarshallingFormat format = getFormat(marshallingFormat); KieContainerInstance containerInstance = registry.getContainer(containerId, locator); if (containerInstance == null || format == null) { throw new IllegalArgumentException("No container found for id " + containerId + " or unknown marshalling format " + marshallingFormat); } Marshaller marshaller = containerInstance.getMarshaller(format); if (marshaller == null) { throw new IllegalArgumentException("No marshaller found for format " + format); } Object instance = marshaller.unmarshall(data, unmarshalType); if (instance instanceof Wrapped) { return (T) ((Wrapped) instance).unwrap(); } return (T) instance; }