Interface RuleEngineBootstrap<SERVICES,CONTAINER,MODULE extends AbstractRulesModuleModel>

All Known Implementing Classes:
DefaultRuleEngineBootstrap

public interface RuleEngineBootstrap<SERVICES,CONTAINER,MODULE extends AbstractRulesModuleModel>
Rule engine bootstrapping interface
  • Method Details

    • getEngineServices

      SERVICES getEngineServices()
      retrieve rule engine infrastructure services handler
      Returns:
      a handler for the rule engine system
    • startup

      RuleEngineActionResult startup(String moduleName)
      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
      Parameters:
      moduleName - the name of the rules module to bottsrpa the engine for
      Returns:
      instance of RuleEngineActionResult with a summary of start-up status
    • warmUpRuleEngineContainer

      void warmUpRuleEngineContainer(MODULE rulesModule, CONTAINER rulesContainer)
      warms up the rules engine (triggers the internal structure for rules evaluation construction)
      Parameters:
      rulesModule - rules module, instance of AbstractRulesModuleModel
      rulesContainer - knowledgebase-specific container, to be warmed-up
    • activateNewRuleEngineContainer

      void activateNewRuleEngineContainer(CONTAINER rulesContainer, KIEModuleCacheBuilder cacheBuilder, RuleEngineActionResult ruleEngineActionResult, MODULE rulesModule, String deployedReleaseIdVersion)
      Runs through the new container activation check list and undertakes necessary actions
      Parameters:
      rulesContainer - Rule engine container (knowledgebase-specific)
      cacheBuilder - 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