Class DefaultRuleEngineBootstrap
java.lang.Object
de.hybris.platform.ruleengine.init.impl.DefaultRuleEngineBootstrap
- All Implemented Interfaces:
RuleEngineBootstrap<org.kie.api.KieServices,org.kie.api.runtime.KieContainer, DroolsKIEModuleModel>
public class DefaultRuleEngineBootstrap
extends Object
implements RuleEngineBootstrap<org.kie.api.KieServices,org.kie.api.runtime.KieContainer,DroolsKIEModuleModel>
Default implementation of
RuleEngineBootstrap-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidactivateNewRuleEngineContainer(org.kie.api.runtime.KieContainer kieContainer, KIEModuleCacheBuilder cache, RuleEngineActionResult ruleEngineActionResult, DroolsKIEModuleModel rulesModule, String deployedReleaseIdVersion) Runs through the new container activation check list and undertakes necessary actionsorg.kie.api.KieServicesretrieve rule engine infrastructure services handlerprotected KieModuleServiceprotected RuleEngineCacheServiceprotected RuleEngineContainerRegistry<org.kie.api.builder.ReleaseId,org.kie.api.runtime.KieContainer> protected RuleEngineKieModuleSwapperprotected RulesModuleDaovoidsetKieModuleService(KieModuleService kieModuleService) voidsetRuleEngineCacheService(RuleEngineCacheService ruleEngineCacheService) voidsetRuleEngineContainerRegistry(RuleEngineContainerRegistry<org.kie.api.builder.ReleaseId, org.kie.api.runtime.KieContainer> ruleEngineContainerRegistry) voidsetRuleEngineKieModuleSwapper(RuleEngineKieModuleSwapper ruleEngineKieModuleSwapper) voidsetRulesModuleDao(RulesModuleDao rulesModuleDao) starts up the rules engine for a given rules module from scratch (removing currently running and blocking for any rule evaluation).voidwarmUpRuleEngineContainer(DroolsKIEModuleModel rulesModule, org.kie.api.runtime.KieContainer rulesContainer) provide the steps to "warm-up" the updated KieContainer.
-
Constructor Details
-
DefaultRuleEngineBootstrap
public DefaultRuleEngineBootstrap()
-
-
Method Details
-
getEngineServices
public org.kie.api.KieServices getEngineServices()Description copied from interface:RuleEngineBootstrapretrieve rule engine infrastructure services handler- Specified by:
getEngineServicesin interfaceRuleEngineBootstrap<org.kie.api.KieServices,org.kie.api.runtime.KieContainer, DroolsKIEModuleModel> - Returns:
- a handler for the rule engine system
-
startup
Description copied from interface:RuleEngineBootstrapstarts up the rules engine for a given rules module from scratch (removing currently running and blocking for any rule evaluation). Primarily intended for a clean rule engine startup during the platform initialization/bootstrap- Specified by:
startupin interfaceRuleEngineBootstrap<org.kie.api.KieServices,org.kie.api.runtime.KieContainer, DroolsKIEModuleModel> - Parameters:
moduleName- the name of the rules module to bottsrpa the engine for- Returns:
- instance of
RuleEngineActionResultwith a summary of start-up status
-
activateNewRuleEngineContainer
public void activateNewRuleEngineContainer(org.kie.api.runtime.KieContainer kieContainer, KIEModuleCacheBuilder cache, RuleEngineActionResult ruleEngineActionResult, DroolsKIEModuleModel rulesModule, String deployedReleaseIdVersion) Description copied from interface:RuleEngineBootstrapRuns through the new container activation check list and undertakes necessary actions- Specified by:
activateNewRuleEngineContainerin interfaceRuleEngineBootstrap<org.kie.api.KieServices,org.kie.api.runtime.KieContainer, DroolsKIEModuleModel> - Parameters:
kieContainer- Rule engine container (knowledgebase-specific)cache- module CacheBuilder (instance ofKIEModuleCacheBuilder) used to warm-up the cacheruleEngineActionResult- instance ofRuleEngineActionResultthat collects the results of initializationrulesModule- rules module instancedeployedReleaseIdVersion- currently deployed version of the module, null if none
-
warmUpRuleEngineContainer
public void warmUpRuleEngineContainer(DroolsKIEModuleModel rulesModule, org.kie.api.runtime.KieContainer rulesContainer) provide the steps to "warm-up" the updated KieContainer. After merging the kieFileSystem this provides the necessary reorganisation and optimisation of the nodes. The default implementation creates the new stateless KIE session, that triggers such optimisation. This significantly reduces the first evaluation call timeout- Specified by:
warmUpRuleEngineContainerin interfaceRuleEngineBootstrap<org.kie.api.KieServices,org.kie.api.runtime.KieContainer, DroolsKIEModuleModel> - Parameters:
rulesModule- instance ofDroolsKIEModuleModelrulesContainer-KieContainerto be optimised
-
getRulesModuleDao
-
setRulesModuleDao
-
getRuleEngineKieModuleSwapper
-
setRuleEngineKieModuleSwapper
-
getRuleEngineCacheService
-
setRuleEngineCacheService
-
getRuleEngineContainerRegistry
protected RuleEngineContainerRegistry<org.kie.api.builder.ReleaseId,org.kie.api.runtime.KieContainer> getRuleEngineContainerRegistry() -
setRuleEngineContainerRegistry
public void setRuleEngineContainerRegistry(RuleEngineContainerRegistry<org.kie.api.builder.ReleaseId, org.kie.api.runtime.KieContainer> ruleEngineContainerRegistry) -
getKieModuleService
-
setKieModuleService
-