Interface RuleEngineService

    • Method Detail

      • evaluate

        RuleEvaluationResult evaluate​(RuleEvaluationContext context)
        Since 6.0 Executes rule evaluation for given RuleEvaluationContext. Executes all rules contained within the context
        Parameters:
        context - the rule engine context containing data about rule engine execution
        Returns:
        results of rule engine execution
      • initializeNonBlocking

        <M extends AbstractRulesModuleModel> void initializeNonBlocking​(M module,
                                                                        java.lang.String deployedMvnVersion,
                                                                        boolean propagateToOtherNodes,
                                                                        boolean enableIncrementalUpdate,
                                                                        RuleEngineActionResult result)
        Since 6.4 Asynchronously initializes the given rules module (and if propagateToOtherNodes is set to true propagates a RuleEngineInitializedEvent to other nodes).
        Parameters:
        module - the module to be initialized
        deployedMvnVersion - currently deployed version of the Kie Module
        propagateToOtherNodes - if true propagates a RuleEngineInitializedEvent to other nodes.
        enableIncrementalUpdate - flag, if true, enables for incremental updates of the rule engine kie module
        result - the instance of RuleEngineActionResult accumulating the results of initialization
      • initialize

        InitializationFuture initialize​(java.util.List<AbstractRulesModuleModel> modules,
                                        boolean propagateToOtherNodes,
                                        boolean enableIncrementalUpdate)
        Since 6.4 Initializes the given rules module in blocking/async mode (depending on blocking param) (and if propagateToOtherNodes is set to true propagates a RuleEngineInitializedEvent to other nodes).
        Parameters:
        modules - the modules to be initialized
        propagateToOtherNodes - if true propagates a RuleEngineInitializedEvent to other nodes.
        enableIncrementalUpdate - flag, if true, enables for incremental updates of the rule engine kie module
        Returns:
        instance of InitializationFuture to be used for eventual blocking on multiple parallel swapping
      • initialize

        InitializationFuture initialize​(java.util.List<AbstractRulesModuleModel> modules,
                                        boolean propagateToOtherNodes,
                                        boolean enableIncrementalUpdate,
                                        ExecutionContext executionContext)
        Since 6.7 Initializes the given rules module in blocking/async mode (depending on blocking param) (and if propagateToOtherNodes is set to true propagates a RuleEngineInitializedEvent to other nodes).
        Parameters:
        modules - the modules to be initialized
        propagateToOtherNodes - if true propagates a RuleEngineInitializedEvent to other nodes.
        enableIncrementalUpdate - flag, if true, enables for incremental updates of the rule engine kie module
        executionContext - instance of ExecutionContext that serves as a storage for initialization related data
        Returns:
        instance of InitializationFuture to be used for eventual blocking on multiple parallel swapping
      • initialize

        void initialize​(AbstractRulesModuleModel module,
                        java.lang.String deployedMvnVersion,
                        boolean propagateToOtherNodes,
                        boolean enableIncrementalUpdate,
                        RuleEngineActionResult result)
        Since 6.4 Initializes the given rules module (and if propagateToOtherNodes is set to true propagates a RuleEngineInitializedEvent to other nodes).
        Parameters:
        module - the module to be initialized
        deployedMvnVersion - currently deployed mvn version of the rule engine module
        propagateToOtherNodes - if true propagates a RuleEngineInitializedEvent to other nodes.
        enableIncrementalUpdate - flag, if true, enables for incremental updates of the rule engine kie module
        result - the instance of RuleEngineActionResult accumulating the results of initialization
      • initialize

        void initialize​(AbstractRulesModuleModel module,
                        java.lang.String deployedMvnVersion,
                        boolean propagateToOtherNodes,
                        boolean enableIncrementalUpdate,
                        RuleEngineActionResult result,
                        ExecutionContext executionContext)
        Since 18.08 Initializes the given rules module (and if propagateToOtherNodes is set to true propagates a RuleEngineInitializedEvent to other nodes).
        Parameters:
        module - the module to be initialized
        deployedMvnVersion - currently deployed mvn version of the rule engine module
        propagateToOtherNodes - if true propagates a RuleEngineInitializedEvent to other nodes.
        enableIncrementalUpdate - flag, if true, enables for incremental updates of the rule engine kie module
        result - the instance of RuleEngineActionResult accumulating the results of initialization
        executionContext - the instance of ExecutionContext to be set as executionContext of RuleEngineActionResult if not null
      • initializeAllRulesModules

        java.util.List<RuleEngineActionResult> initializeAllRulesModules()
        Initializes all AbstractRulesModuleModels that are marked as active (in case of cluster mode - on all the nodes).
        Returns:
        the results of the initialize action (use RuleEngineActionResult.isActionFailed() to check if the action succeeded)
      • initializeAllRulesModules

        java.util.List<RuleEngineActionResult> initializeAllRulesModules​(boolean propagateToOtherNodes)
        Initializes all AbstractRulesModuleModels that are marked as active.
        Parameters:
        propagateToOtherNodes - if true on all the nodes of cluster
        Returns:
        the activation results
      • archiveRule

        @Deprecated(since="1811",
                    forRemoval=true)
        RuleEngineActionResult archiveRule​(AbstractRuleEngineRuleModel ruleEngineRule)
        Deprecated, for removal: This API element is subject to removal in a future version.
        since 1811
        Archives the given rule if it already exists.
        Parameters:
        ruleEngineRule - Rule to be archived
        Returns:
        the result of the archive action (use RuleEngineActionResult.isActionFailed() to check if the action succeeded)
      • getRuleForCodeAndModule

        AbstractRuleEngineRuleModel getRuleForCodeAndModule​(java.lang.String code,
                                                            java.lang.String moduleName)
        Finds AbstractRuleEngineRuleModel for given code and module.
        Parameters:
        code - the rule code
        moduleName - the rules module name
        Returns:
        AbstractRuleEngineRuleModel for given code.
      • getRuleForUuid

        AbstractRuleEngineRuleModel getRuleForUuid​(java.lang.String uuid)
        Finds AbstractRuleEngineRuleModel for given uuid.
        Parameters:
        uuid - the rule uuid
        Returns:
        AbstractRuleEngineRuleModel for given uuid.
      • deactivateRulesModuleEngineRules

        <T extends AbstractRuleEngineRuleModel> void deactivateRulesModuleEngineRules​(java.lang.String moduleName,
                                                                                      java.util.Collection<T> engineRules)
        make the specified collection of engine rules belonging to a specified module inactive, so that the engine wouln't take them in consideration during init
        Type Parameters:
        T - a type of engine rules
        Parameters:
        moduleName - Name of the module the rules should refer to when applying changes
        engineRules - A collection of AbstractRuleEngineRuleModel to be deactivated