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 Details

    • DefaultRuleEngineBootstrap

      public DefaultRuleEngineBootstrap()
  • Method Details

    • getEngineServices

      public org.kie.api.KieServices getEngineServices()
      Description copied from interface: RuleEngineBootstrap
      retrieve rule engine infrastructure services handler
      Specified by:
      getEngineServices in interface RuleEngineBootstrap<org.kie.api.KieServices,org.kie.api.runtime.KieContainer,DroolsKIEModuleModel>
      Returns:
      a handler for the rule engine system
    • startup

      public RuleEngineActionResult startup(String moduleName)
      Description copied from interface: RuleEngineBootstrap
      starts 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:
      startup in interface RuleEngineBootstrap<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 RuleEngineActionResult with 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: RuleEngineBootstrap
      Runs through the new container activation check list and undertakes necessary actions
      Specified by:
      activateNewRuleEngineContainer in interface RuleEngineBootstrap<org.kie.api.KieServices,org.kie.api.runtime.KieContainer,DroolsKIEModuleModel>
      Parameters:
      kieContainer - Rule engine container (knowledgebase-specific)
      cache - module CacheBuilder (instance of KIEModuleCacheBuilder) used to warm-up the cache
      ruleEngineActionResult - instance of RuleEngineActionResult that collects the results of initialization
      rulesModule - rules module instance
      deployedReleaseIdVersion - 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:
      warmUpRuleEngineContainer in interface RuleEngineBootstrap<org.kie.api.KieServices,org.kie.api.runtime.KieContainer,DroolsKIEModuleModel>
      Parameters:
      rulesModule - instance of DroolsKIEModuleModel
      rulesContainer - KieContainer to 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)