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 java.lang.Object implements RuleEngineBootstrap<org.kie.api.KieServices,org.kie.api.runtime.KieContainer,DroolsKIEModuleModel>
Default implementation ofRuleEngineBootstrap
-
-
Constructor Summary
Constructors Constructor Description DefaultRuleEngineBootstrap()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactivateNewRuleEngineContainer(org.kie.api.runtime.KieContainer kieContainer, KIEModuleCacheBuilder cache, RuleEngineActionResult ruleEngineActionResult, DroolsKIEModuleModel rulesModule, java.lang.String deployedReleaseIdVersion)Runs through the new container activation check list and undertakes necessary actionsorg.kie.api.KieServicesgetEngineServices()retrieve rule engine infrastructure services handlerprotected KieModuleServicegetKieModuleService()protected RuleEngineCacheServicegetRuleEngineCacheService()protected RuleEngineContainerRegistry<org.kie.api.builder.ReleaseId,org.kie.api.runtime.KieContainer>getRuleEngineContainerRegistry()protected RuleEngineKieModuleSwappergetRuleEngineKieModuleSwapper()protected RulesModuleDaogetRulesModuleDao()voidsetKieModuleService(KieModuleService kieModuleService)voidsetRuleEngineCacheService(RuleEngineCacheService ruleEngineCacheService)voidsetRuleEngineContainerRegistry(RuleEngineContainerRegistry<org.kie.api.builder.ReleaseId,org.kie.api.runtime.KieContainer> ruleEngineContainerRegistry)voidsetRuleEngineKieModuleSwapper(RuleEngineKieModuleSwapper ruleEngineKieModuleSwapper)voidsetRulesModuleDao(RulesModuleDao rulesModuleDao)RuleEngineActionResultstartup(java.lang.String moduleName)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.
-
-
-
Method Detail
-
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
public RuleEngineActionResult startup(java.lang.String moduleName)
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, java.lang.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
protected RulesModuleDao getRulesModuleDao()
-
setRulesModuleDao
public void setRulesModuleDao(RulesModuleDao rulesModuleDao)
-
getRuleEngineKieModuleSwapper
protected RuleEngineKieModuleSwapper getRuleEngineKieModuleSwapper()
-
setRuleEngineKieModuleSwapper
public void setRuleEngineKieModuleSwapper(RuleEngineKieModuleSwapper ruleEngineKieModuleSwapper)
-
getRuleEngineCacheService
protected RuleEngineCacheService getRuleEngineCacheService()
-
setRuleEngineCacheService
public void setRuleEngineCacheService(RuleEngineCacheService ruleEngineCacheService)
-
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
protected KieModuleService getKieModuleService()
-
setKieModuleService
public void setKieModuleService(KieModuleService kieModuleService)
-
-