Class DefaultRuleEngineKieModuleSwapper
java.lang.Object
de.hybris.platform.ruleengine.init.impl.DefaultRuleEngineKieModuleSwapper
- All Implemented Interfaces:
RuleEngineKieModuleSwapper
Default (drools-based) implementation of the
RuleEngineKieModuleSwapper interface-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionUpdates the instance ofDroolsKIEModuleModelwith information about affectively deployedReleaseIdversionvoidaddKieBase(org.kie.api.builder.model.KieModuleModel module, DroolsKIEBaseModel base) Adds newKieBaseModelto aKieModuleModelwith all rulesvoidaddKieBase(org.kie.api.builder.model.KieModuleModel module, org.kie.api.builder.KieFileSystem kfs, DroolsKIEBaseModel base, KIEModuleCacheBuilder cache) Adds newKieBaseModelto aKieModuleModelwith all rulesvoidaddKieSession(org.kie.api.builder.model.KieBaseModel base, DroolsKIESessionModel session) Adds instance of newKieSessionModeltoKieBaseModelprotected ResultItemaddNewResultItemOf(RuleEngineActionResult result, MessageLevel messageLevel, String message) voidaddRules(org.kie.api.builder.KieFileSystem kfs, DroolsKIEBaseModel base, KIEModuleCacheBuilder cache) Adds rules from a givenDroolsKIEBaseModeltoKieFileSystemvoidaddRulesToCache(DroolsKIEBaseModel base, KIEModuleCacheBuilder cache) Add cacheable data of rules of the latest versions belonging to the KieBase into the cache.voidThis method to be called by containers (like spring container) as destroy methodprotected org.drools.compiler.kie.builder.impl.MemoryKieModulecloneForIncrementalCompilation(org.drools.compiler.kie.builder.impl.MemoryKieModule origKieModule, org.kie.api.builder.ReleaseId releaseId, org.kie.api.builder.model.KieModuleModel kModuleModel) Method creates the clone of theKieModule, having the specifiedReleaseId.protected voidcompleteWithFailure(org.kie.api.builder.ReleaseId releaseId, RuleEngineActionResult result, KieContainerListener listener) protected voidcopyChanges(org.drools.compiler.kie.builder.impl.MemoryKieModule trgKieModule, org.drools.compiler.kie.builder.impl.MemoryKieModule srcKieModule) org.apache.commons.lang3.tuple.Pair<org.kie.api.builder.KieModule,KIEModuleCacheBuilder> createKieModule(DroolsKIEModuleModel module, RuleEngineActionResult result) Creates the new instance ofKieModule, based on information contained inDroolsKIEModuleModelprotected org.apache.commons.lang3.tuple.Pair<org.kie.api.builder.KieModule,KIEModuleCacheBuilder> createKieModule(DroolsKIEModuleModel module, RuleEngineActionResult result, boolean enableIncrementalUpdate) protected voiddeleteRulesFromKieModule(org.drools.compiler.kie.builder.impl.MemoryKieModule kieModule, Collection<DroolsRuleModel> rules) Removes the specified collection ofDroolsRuleModelrules fromKieModuleprotected List<org.kie.api.builder.KieBuilder>deployRules(DroolsKIEModuleModel module, org.kie.api.builder.model.KieModuleModel kieModuleModel, DroolsKIEBaseModel kieBase, KIEModuleCacheBuilder cache) protected voiddeployRulesIncrementally(org.kie.api.builder.ReleaseId releaseId, org.kie.api.builder.model.KieModuleModel kieModuleModel, org.kie.api.builder.KieModule kieModule, Collection<DroolsRuleModel> rulesToAdd, Collection<DroolsRuleModel> rulesToRemove, RuleEngineActionResult result) Deploy incrementally the rule engine updates.protected <R extends D,D extends AbstractRuleEngineRuleModel>
Set<R>filterByBiggestVersion(Collection<D> rulesForVersion) protected ConcurrentMapFactoryprotected ConfigurationServiceprotected ContentMatchRulesFilterprotected TenantOptional<org.kie.api.builder.ReleaseId>getDeployedReleaseId(DroolsKIEModuleModel module, String deployedMvnVersion) Returns (optional)ReleaseIdfor a deployed version of theKieModuleModelprotected EngineRuleDaoprotected IncrementalRuleEngineUpdateStrategyprotected InitializeModegetInitializeMode(ExecutionContext executionContext) protected KieModuleServiceprotected org.kie.api.KieServicesprotected ModelServiceprotected Stringorg.kie.api.builder.ReleaseIdgetReleaseId(DroolsKIEModuleModel module) Creates the new instance ofReleaseIdbased onDroolsKIEModuleModelprotected RuleEngineBootstrap<org.kie.api.KieServices,org.kie.api.runtime.KieContainer, DroolsKIEModuleModel> protected RuleEngineCacheServiceprotected RulePublishingSpliteratorprotected RulesModuleDaoprotected SuspendResumeTaskManagerprotected ThreadFactoryprotected longorg.kie.api.runtime.KieContainerinitializeNewKieContainer(DroolsKIEModuleModel module, org.kie.api.builder.KieModule kieModule, RuleEngineActionResult result) Creates the new instance ofKieContainerfor a givenKieModuleprotected voidinitializeNewModule(DroolsKIEModuleModel module, KieContainerListener listener, boolean enableIncrementalUpdates, RuleEngineActionResult result) protected booleanisInitialEngineStartup(org.kie.api.builder.ReleaseId releaseId, String newDeployedMvnVersion) protected booleanprotected voidmergeFileSystemToKieModule(org.drools.compiler.kie.builder.impl.MemoryKieModule partialKieModule, org.drools.compiler.compiler.io.memory.MemoryFileSystem mainMemoryFileSystem) protected org.kie.api.builder.KieModulemergePartialKieModules(org.kie.api.builder.ReleaseId releaseId, org.kie.api.builder.model.KieModuleModel kieModuleModel, List<org.kie.api.builder.KieBuilder> kieBuilders) protected org.kie.api.builder.KieModulemergePartialKieModules(org.kie.api.builder.ReleaseId releaseId, org.kie.api.builder.model.KieModuleModel kieModuleModel, org.kie.api.builder.KieModule partialKieModule) protected voidnewKieModule(DroolsKIEModuleModel module, KieContainerListener listener, boolean enableIncrementalUpdates, RuleEngineActionResult result) protected ObjectonSwapFailed(Throwable t, RuleEngineActionResult result, Supplier<Object> resetFlagSupplier) protected Optional<org.apache.commons.lang3.tuple.Pair<Collection<DroolsRuleModel>,Collection<DroolsRuleModel>>> prepareIncrementalUpdate(org.kie.api.builder.ReleaseId releaseId, DroolsKIEBaseModel kieBase) Given theReleaseIdof the deployedKieModulethe method returns the tuple consisting of rules to add/update and rules to delete.protected voidregisterWorker(String moduleName, Thread worker) booleanremoveKieModuleIfPresent(org.kie.api.builder.ReleaseId releaseId, RuleEngineActionResult result) Tries to remove theKieModulewith givenReleaseIdfromKieRepositorybooleanTries to remove the oldKieModulefromKieRepositoryprotected booleanrestoreKieModule(DroolsKIEModuleModel module, KieContainerListener listener, RuleEngineActionResult result) voidsetConcurrentMapFactory(ConcurrentMapFactory concurrentMapFactory) voidsetConfigurationService(ConfigurationService configurationService) voidsetContentMatchRulesFilter(ContentMatchRulesFilter contentMatchRulesFilter) voidsetCurrentTenant(Tenant currentTenant) voidsetEngineRuleDao(EngineRuleDao engineRuleDao) voidsetIncrementalRuleEngineUpdateStrategy(IncrementalRuleEngineUpdateStrategy incrementalRuleEngineUpdateStrategy) voidsetKieModuleService(KieModuleService kieModuleService) protected voidsetKieServices(org.kie.api.KieServices kieServices) voidsetModelService(ModelService modelService) voidsetRuleEngineBootstrap(RuleEngineBootstrap<org.kie.api.KieServices, org.kie.api.runtime.KieContainer, DroolsKIEModuleModel> ruleEngineBootstrap) voidsetRuleEngineCacheService(RuleEngineCacheService ruleEngineCacheService) voidsetRulePublishingSpliterator(RulePublishingSpliterator rulePublishingSpliterator) voidsetRulesModuleDao(RulesModuleDao rulesModuleDao) voidsetSuspendResumeTaskManager(SuspendResumeTaskManager suspendResumeTaskManager) voidsetTenantAwareThreadFactory(ThreadFactory tenantAwareThreadFactory) voidsetup()voidInitializes theKieServicesinstanceswitchKieModule(DroolsKIEModuleModel module, KieContainerListener listener, LinkedList<Supplier<Object>> postTaskList, boolean enableIncrementalUpdate, RuleEngineActionResult result) Swaps synchroneously to a new KieModule.voidswitchKieModuleAsync(String moduleName, KieContainerListener listener, List<Object> resultsAccumulator, Supplier<Object> resetFlagSupplier, List<Supplier<Object>> postTaskList, boolean enableIncrementalUpdate, RuleEngineActionResult result) Swaps asynchroneously to a new KieModule.protected RunnableswitchKieModuleRunnableTask(String moduleName, KieContainerListener listener, List<Object> resultsAccumulator, Supplier<Object> resetFlagSupplier, List<Supplier<Object>> postTaskList, boolean enableIncrementalUpdate, RuleEngineActionResult result) protected voidverifyErrors(RuleEngineActionResult result, List<org.kie.api.builder.Message> messages) voidBlock until the whole swapping task/tasks are finishedprotected voidwaitForSwappingToFinish(String moduleName) protected voidwaitWhileWorkerIsRunning(Thread worker) voidwriteKModuleXML(org.kie.api.builder.model.KieModuleModel module, org.kie.api.builder.KieFileSystem kfs) Creates the XML representation ofKieModuleModeland writes it toKieFileSystemvoidwritePomXML(DroolsKIEModuleModel module, org.kie.api.builder.KieFileSystem kfs) Write the building POM XML toKieFileSystemprotected voidwriteRulesToKieFileSystem(org.kie.api.builder.KieFileSystem kfs, Collection<DroolsRuleModel> rules)
-
Field Details
-
WORKER_PRE_DESTROY_TIMEOUT
- See Also:
-
-
Constructor Details
-
DefaultRuleEngineKieModuleSwapper
public DefaultRuleEngineKieModuleSwapper()
-
-
Method Details
-
switchKieModule
public List<Object> switchKieModule(DroolsKIEModuleModel module, KieContainerListener listener, LinkedList<Supplier<Object>> postTaskList, boolean enableIncrementalUpdate, RuleEngineActionResult result) Description copied from interface:RuleEngineKieModuleSwapperSwaps synchroneously to a new KieModule. It's a blocking call- Specified by:
switchKieModulein interfaceRuleEngineKieModuleSwapper- Parameters:
module- instance of theAbstractRulesModuleModelmodulelistener- instance ofKieContainerListenerthat fires when the switch of Kie Container is completepostTaskList- chain of post-task operations incapsulated as a linked list ofSupplierinstancesenableIncrementalUpdate- flag, if true, enables for incremental updates of the rule engine kie moduleresult- instance ofRuleEngineActionResultto be used in cluster nodes notification- Returns:
- the list that will contain the method execution results including the post-tasks
-
switchKieModuleAsync
public void switchKieModuleAsync(String moduleName, KieContainerListener listener, List<Object> resultsAccumulator, Supplier<Object> resetFlagSupplier, List<Supplier<Object>> postTaskList, boolean enableIncrementalUpdate, RuleEngineActionResult result) Description copied from interface:RuleEngineKieModuleSwapperSwaps asynchroneously to a new KieModule. It's a non-blocking call- Specified by:
switchKieModuleAsyncin interfaceRuleEngineKieModuleSwapper- Parameters:
moduleName- kie module namelistener- instance ofKieContainerListenerthat fires when the switch of Kie Container is completeresultsAccumulator- the list that will contain the method execution results including the post-tasksresetFlagSupplier- the task to perform after the sync call finishes the task (whether it was successfull or not )postTaskList- chain of post-task operations incapsulated as a linked list ofSupplierinstancesenableIncrementalUpdate- flag, if true, enables for incremental updates of the rule engine kie moduleresult- instance ofRuleEngineActionResultto be used in cluster nodes notification
-
waitForSwappingToFinish
public void waitForSwappingToFinish()Description copied from interface:RuleEngineKieModuleSwapperBlock until the whole swapping task/tasks are finished- Specified by:
waitForSwappingToFinishin interfaceRuleEngineKieModuleSwapper
-
waitForSwappingToFinish
-
getNextWorkerName
-
waitWhileWorkerIsRunning
-
beforeDestroy
public void beforeDestroy()This method to be called by containers (like spring container) as destroy method -
writeKModuleXML
public void writeKModuleXML(org.kie.api.builder.model.KieModuleModel module, org.kie.api.builder.KieFileSystem kfs) Description copied from interface:RuleEngineKieModuleSwapperCreates the XML representation ofKieModuleModeland writes it toKieFileSystem- Specified by:
writeKModuleXMLin interfaceRuleEngineKieModuleSwapper- Parameters:
module- instance ofKieModuleModelkfs- instance ofKieFileSystem
-
writePomXML
Description copied from interface:RuleEngineKieModuleSwapperWrite the building POM XML toKieFileSystem- Specified by:
writePomXMLin interfaceRuleEngineKieModuleSwapper- Parameters:
module- instance ofDroolsKIEModuleModelto be used forReleaseIdcreationkfs- instance ofKieFileSystem
-
getReleaseId
Description copied from interface:RuleEngineKieModuleSwapperCreates the new instance ofReleaseIdbased onDroolsKIEModuleModel- Specified by:
getReleaseIdin interfaceRuleEngineKieModuleSwapper- Parameters:
module- instance ofDroolsKIEModuleModel- Returns:
- newly created
ReleaseId
-
createKieModule
public org.apache.commons.lang3.tuple.Pair<org.kie.api.builder.KieModule,KIEModuleCacheBuilder> createKieModule(DroolsKIEModuleModel module, RuleEngineActionResult result) Description copied from interface:RuleEngineKieModuleSwapperCreates the new instance ofKieModule, based on information contained inDroolsKIEModuleModel- Specified by:
createKieModulein interfaceRuleEngineKieModuleSwapper- Parameters:
module- instance ofDroolsKIEModuleModelresult- instance ofRuleEngineActionResultto be used in cluster nodes notification- Returns:
- pair of the newly created instance of
KieModuleand the corresponding caching structure for the created module
-
createKieModule
protected org.apache.commons.lang3.tuple.Pair<org.kie.api.builder.KieModule,KIEModuleCacheBuilder> createKieModule(DroolsKIEModuleModel module, RuleEngineActionResult result, boolean enableIncrementalUpdate) -
copyChanges
protected void copyChanges(org.drools.compiler.kie.builder.impl.MemoryKieModule trgKieModule, org.drools.compiler.kie.builder.impl.MemoryKieModule srcKieModule) -
cloneForIncrementalCompilation
protected org.drools.compiler.kie.builder.impl.MemoryKieModule cloneForIncrementalCompilation(org.drools.compiler.kie.builder.impl.MemoryKieModule origKieModule, org.kie.api.builder.ReleaseId releaseId, org.kie.api.builder.model.KieModuleModel kModuleModel) Method creates the clone of theKieModule, having the specifiedReleaseId. It creates the new instance ofMemoryKieModulewith givenReleaseId,KieModuleModeland new instance ofMemoryFileSystem, copying from originalKieModuleall the relevant information (including file system content). (The#clone.mark();is used to reset the map of modified files since last mark).- Parameters:
origKieModule- The instance ofMemoryKieModuleto clonereleaseId- The newReleaseIdfor a cloneMemoryKieModulekModuleModel- instance of newKieModuleModelfor a cloneKieModule- Returns:
- clone of
MemoryKieModulewith givenReleaseId
-
prepareIncrementalUpdate
protected Optional<org.apache.commons.lang3.tuple.Pair<Collection<DroolsRuleModel>,Collection<DroolsRuleModel>>> prepareIncrementalUpdate(org.kie.api.builder.ReleaseId releaseId, DroolsKIEBaseModel kieBase) Given theReleaseIdof the deployedKieModulethe method returns the tuple consisting of rules to add/update and rules to delete. Before returning the tuple the method applies the strategy to decide whether the incremental update is applicable. If it is not applicable the emptyOptionalis returned- Parameters:
releaseId-ReleaseIdof the currently deployed kie modulekieBase-DroolsKIEBaseModelcontaining the set of rules to deploy- Returns:
- a
Paircontaining the rules to add/update (left-hand-side) and the rules to delete (right-hand-side)
-
deployRulesIncrementally
protected void deployRulesIncrementally(org.kie.api.builder.ReleaseId releaseId, org.kie.api.builder.model.KieModuleModel kieModuleModel, org.kie.api.builder.KieModule kieModule, Collection<DroolsRuleModel> rulesToAdd, Collection<DroolsRuleModel> rulesToRemove, RuleEngineActionResult result) Deploy incrementally the rule engine updates. It accepts the newReleaseId, newKieModuleModel, the cloneMemoryKieModuleand based on the collections of rules to add/update and delete, applies the incremental rule engine updates. In order to add/update the rule engine the new instance ofKieBuilderis created. After the properKieBuilderSetwith updates is created, theKieBuilderSet.#build()method is called. if the update was successful, the updated information is copied from "incremental"KieModuleto the cloneKieModule(methodcopyChanges(MemoryKieModule, MemoryKieModule))- Parameters:
releaseId- newReleaseIdkieModuleModel- newKieModuleModelkieModule- cloneKieModulerulesToAdd- a collection ofDroolsRuleModelrules to add/updaterulesToRemove- a collection ofDroolsRuleModelrules to removeresult- instance ofRuleEngineActionResultaccumulating the results of deploy
-
verifyErrors
protected void verifyErrors(RuleEngineActionResult result, List<org.kie.api.builder.Message> messages) -
mergePartialKieModules
protected org.kie.api.builder.KieModule mergePartialKieModules(org.kie.api.builder.ReleaseId releaseId, org.kie.api.builder.model.KieModuleModel kieModuleModel, org.kie.api.builder.KieModule partialKieModule) -
mergeFileSystemToKieModule
protected void mergeFileSystemToKieModule(org.drools.compiler.kie.builder.impl.MemoryKieModule partialKieModule, org.drools.compiler.compiler.io.memory.MemoryFileSystem mainMemoryFileSystem) -
mergePartialKieModules
protected org.kie.api.builder.KieModule mergePartialKieModules(org.kie.api.builder.ReleaseId releaseId, org.kie.api.builder.model.KieModuleModel kieModuleModel, List<org.kie.api.builder.KieBuilder> kieBuilders) -
addKieBase
public void addKieBase(org.kie.api.builder.model.KieModuleModel module, org.kie.api.builder.KieFileSystem kfs, DroolsKIEBaseModel base, KIEModuleCacheBuilder cache) Description copied from interface:RuleEngineKieModuleSwapperAdds newKieBaseModelto aKieModuleModelwith all rules- Specified by:
addKieBasein interfaceRuleEngineKieModuleSwapper- Parameters:
module- instance ofKieModuleModelto add theKieBaseModeltokfs- instance ofKieFileSystembase- instance ofDroolsKIEBaseModelthat keeps the information for aKieBaseModelto be createdcache- the caching structure for the module being initialized
-
addKieBase
Description copied from interface:RuleEngineKieModuleSwapperAdds newKieBaseModelto aKieModuleModelwith all rules- Specified by:
addKieBasein interfaceRuleEngineKieModuleSwapper- Parameters:
module- instance ofKieModuleModelto add theKieBaseModeltobase- instance ofDroolsKIEBaseModelthat keeps the information for aKieBaseModelto be created
-
addKieSession
public void addKieSession(org.kie.api.builder.model.KieBaseModel base, DroolsKIESessionModel session) Description copied from interface:RuleEngineKieModuleSwapperAdds instance of newKieSessionModeltoKieBaseModel- Specified by:
addKieSessionin interfaceRuleEngineKieModuleSwapper- Parameters:
base- instance ofKieBaseModelsession- instance ofDroolsKIESessionModelcontaining the information for newKieSessionModel
-
activateKieModule
Description copied from interface:RuleEngineKieModuleSwapperUpdates the instance ofDroolsKIEModuleModelwith information about affectively deployedReleaseIdversion- Specified by:
activateKieModulein interfaceRuleEngineKieModuleSwapper- Parameters:
module- instance ofDroolsKIEModuleModel- Returns:
- version of deployed
ReleaseId
-
removeKieModuleIfPresent
public boolean removeKieModuleIfPresent(org.kie.api.builder.ReleaseId releaseId, RuleEngineActionResult result) Description copied from interface:RuleEngineKieModuleSwapperTries to remove theKieModulewith givenReleaseIdfromKieRepository- Specified by:
removeKieModuleIfPresentin interfaceRuleEngineKieModuleSwapper- Parameters:
releaseId- the instance ofReleaseIdcorresponding to aKieModuleto be removedresult- instance ofRuleEngineActionResultto be used in cluster nodes notification removal- Returns:
- true if the module was found and removed, false otherwise
-
removeOldKieModuleIfPresent
Description copied from interface:RuleEngineKieModuleSwapperTries to remove the oldKieModulefromKieRepository- Specified by:
removeOldKieModuleIfPresentin interfaceRuleEngineKieModuleSwapper- Parameters:
result- instance ofRuleEngineActionResultto be used in cluster nodes notification removal- Returns:
- true if the module was found and removed, false otherwise
-
addRules
public void addRules(org.kie.api.builder.KieFileSystem kfs, DroolsKIEBaseModel base, KIEModuleCacheBuilder cache) Description copied from interface:RuleEngineKieModuleSwapperAdds rules from a givenDroolsKIEBaseModeltoKieFileSystem- Specified by:
addRulesin interfaceRuleEngineKieModuleSwapper- Parameters:
kfs- instance ofKieFileSystembase- instance ofDroolsKIEBaseModelcontaining the reference to the rules to publishcache- the caching structure for the module being initialized
-
filterByBiggestVersion
protected <R extends D,D extends AbstractRuleEngineRuleModel> Set<R> filterByBiggestVersion(Collection<D> rulesForVersion) -
isRuleValid
-
writeRulesToKieFileSystem
protected void writeRulesToKieFileSystem(org.kie.api.builder.KieFileSystem kfs, Collection<DroolsRuleModel> rules) -
deleteRulesFromKieModule
protected void deleteRulesFromKieModule(org.drools.compiler.kie.builder.impl.MemoryKieModule kieModule, Collection<DroolsRuleModel> rules) Removes the specified collection ofDroolsRuleModelrules fromKieModule- Parameters:
kieModule- the instance of cloneKieModuleto remove rules fromrules- Collection ofDroolsRuleModelrules to delete
-
getDeployedReleaseId
public Optional<org.kie.api.builder.ReleaseId> getDeployedReleaseId(DroolsKIEModuleModel module, String deployedMvnVersion) Description copied from interface:RuleEngineKieModuleSwapperReturns (optional)ReleaseIdfor a deployed version of theKieModuleModel- Specified by:
getDeployedReleaseIdin interfaceRuleEngineKieModuleSwapper- Parameters:
module- instance ofDroolsKIEModuleModeldeployedMvnVersion- currently deployed releaseId version of the Kie Module, if known- Returns:
- instance of
Optional.of(ReleaseId) if theReleaseIdcould be created,Optional.empty() otherwise
-
setUpKieServices
public void setUpKieServices()Description copied from interface:RuleEngineKieModuleSwapperInitializes theKieServicesinstance- Specified by:
setUpKieServicesin interfaceRuleEngineKieModuleSwapper
-
setup
@PostConstruct public void setup() -
deployRules
protected List<org.kie.api.builder.KieBuilder> deployRules(DroolsKIEModuleModel module, org.kie.api.builder.model.KieModuleModel kieModuleModel, DroolsKIEBaseModel kieBase, KIEModuleCacheBuilder cache) -
initializeNewKieContainer
public org.kie.api.runtime.KieContainer initializeNewKieContainer(DroolsKIEModuleModel module, org.kie.api.builder.KieModule kieModule, RuleEngineActionResult result) Description copied from interface:RuleEngineKieModuleSwapperCreates the new instance ofKieContainerfor a givenKieModule- Specified by:
initializeNewKieContainerin interfaceRuleEngineKieModuleSwapper- Parameters:
module- instance ofDroolsKIEModuleModelkieModule- instance ofKieModuleresult- instance ofRuleEngineActionResultto be used in cluster nodes notification- Returns:
- new
KieContainerinstance
-
initializeNewModule
protected void initializeNewModule(DroolsKIEModuleModel module, KieContainerListener listener, boolean enableIncrementalUpdates, RuleEngineActionResult result) -
getInitializeMode
-
restoreKieModule
protected boolean restoreKieModule(DroolsKIEModuleModel module, KieContainerListener listener, RuleEngineActionResult result) -
newKieModule
protected void newKieModule(DroolsKIEModuleModel module, KieContainerListener listener, boolean enableIncrementalUpdates, RuleEngineActionResult result) -
addRulesToCache
Description copied from interface:RuleEngineKieModuleSwapperAdd cacheable data of rules of the latest versions belonging to the KieBase into the cache.- Specified by:
addRulesToCachein interfaceRuleEngineKieModuleSwapper- Parameters:
base- KieBase of the rules to be processedcache- CacheBuilder to cache rule data
-
completeWithFailure
protected void completeWithFailure(org.kie.api.builder.ReleaseId releaseId, RuleEngineActionResult result, KieContainerListener listener) -
addNewResultItemOf
protected ResultItem addNewResultItemOf(RuleEngineActionResult result, MessageLevel messageLevel, String message) -
registerWorker
-
switchKieModuleRunnableTask
-
onSwapFailed
protected Object onSwapFailed(Throwable t, RuleEngineActionResult result, Supplier<Object> resetFlagSupplier) -
isInitialEngineStartup
protected boolean isInitialEngineStartup(org.kie.api.builder.ReleaseId releaseId, String newDeployedMvnVersion) -
getKieServices
protected org.kie.api.KieServices getKieServices() -
setKieServices
protected void setKieServices(org.kie.api.KieServices kieServices) -
getConfigurationService
-
setConfigurationService
-
getCurrentTenant
-
setCurrentTenant
-
getTenantAwareThreadFactory
-
setTenantAwareThreadFactory
-
getModelService
-
setModelService
-
getRuleEngineCacheService
-
setRuleEngineCacheService
-
getRulesModuleDao
-
setRulesModuleDao
-
getConcurrentMapFactory
-
setConcurrentMapFactory
-
getRulePublishingSpliterator
-
setRulePublishingSpliterator
-
getContentMatchRulesFilter
-
setContentMatchRulesFilter
-
getIncrementalRuleEngineUpdateStrategy
-
setIncrementalRuleEngineUpdateStrategy
public void setIncrementalRuleEngineUpdateStrategy(IncrementalRuleEngineUpdateStrategy incrementalRuleEngineUpdateStrategy) -
getRuleEngineBootstrap
protected RuleEngineBootstrap<org.kie.api.KieServices,org.kie.api.runtime.KieContainer, getRuleEngineBootstrap()DroolsKIEModuleModel> -
setRuleEngineBootstrap
public void setRuleEngineBootstrap(RuleEngineBootstrap<org.kie.api.KieServices, org.kie.api.runtime.KieContainer, DroolsKIEModuleModel> ruleEngineBootstrap) -
getWorkerPreDestroyTimeout
protected long getWorkerPreDestroyTimeout() -
getSuspendResumeTaskManager
-
setSuspendResumeTaskManager
-
getKieModuleService
-
setKieModuleService
-
getEngineRuleDao
-
setEngineRuleDao
-