Class DefaultRuleEngineBootstrap

    • Constructor Detail

      • DefaultRuleEngineBootstrap

        public DefaultRuleEngineBootstrap()
    • Method Detail

      • 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​(java.lang.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,
                                                   java.lang.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
      • setRulesModuleDao

        public void setRulesModuleDao​(RulesModuleDao rulesModuleDao)
      • setRuleEngineKieModuleSwapper

        public void setRuleEngineKieModuleSwapper​(RuleEngineKieModuleSwapper ruleEngineKieModuleSwapper)
      • 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)
      • setKieModuleService

        public void setKieModuleService​(KieModuleService kieModuleService)