Class DefaultRuleEngineContainerRegistry
- java.lang.Object
-
- de.hybris.platform.ruleengine.init.impl.DefaultRuleEngineContainerRegistry
-
- All Implemented Interfaces:
RuleEngineContainerRegistry<org.kie.api.builder.ReleaseId,org.kie.api.runtime.KieContainer>
public class DefaultRuleEngineContainerRegistry extends java.lang.Object implements RuleEngineContainerRegistry<org.kie.api.builder.ReleaseId,org.kie.api.runtime.KieContainer>
Default implementation ofRuleEngineContainerRegistryinterface, base on Drools
-
-
Constructor Summary
Constructors Constructor Description DefaultRuleEngineContainerRegistry()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.kie.api.runtime.KieContainergetActiveContainer(org.kie.api.builder.ReleaseId releaseId)Retrieve knowledgebase container reference, identified fy release idprotected ConcurrentMapFactorygetConcurrentMapFactory()protected java.util.concurrent.locks.LockgetReadLock()protected java.util.concurrent.locks.ReadWriteLockgetReadWriteLock()protected java.util.concurrent.locks.LockgetWriteLock()booleanisLockedForReading()Check if the registry is locked for readingbooleanisLockedForWriting()Check if the registry is locked for writingvoidlockReadingRegistry()lock or unlock registry for reading operationsvoidlockWritingRegistry()lock or unlock registry for writing operationsjava.util.Optional<org.kie.api.builder.ReleaseId>lookupForDeployedRelease(java.lang.String... releaseTokens)Lookup for a deployed knowledgebase container release id by partial release id tokens (e.g.org.kie.api.runtime.KieContainerremoveActiveContainer(org.kie.api.builder.ReleaseId releaseHolder)Remove knowledgebase container identified by release idvoidsetActiveContainer(org.kie.api.builder.ReleaseId releaseId, org.kie.api.runtime.KieContainer rulesContainer)Adds another active container, identified by release, to a repositoryvoidsetConcurrentMapFactory(ConcurrentMapFactory concurrentMapFactory)voidsetup()voidunlockReadingRegistry()unlock or unlock registry for reading operationsvoidunlockWritingRegistry()unlock or unlock registry for writing operations
-
-
-
Method Detail
-
setActiveContainer
public void setActiveContainer(org.kie.api.builder.ReleaseId releaseId, org.kie.api.runtime.KieContainer rulesContainer)Description copied from interface:RuleEngineContainerRegistryAdds another active container, identified by release, to a repository- Specified by:
setActiveContainerin interfaceRuleEngineContainerRegistry<org.kie.api.builder.ReleaseId,org.kie.api.runtime.KieContainer>- Parameters:
releaseId- knowledgebase container module release identifierrulesContainer- knowledgebase container instance
-
getActiveContainer
public org.kie.api.runtime.KieContainer getActiveContainer(org.kie.api.builder.ReleaseId releaseId)
Description copied from interface:RuleEngineContainerRegistryRetrieve knowledgebase container reference, identified fy release id- Specified by:
getActiveContainerin interfaceRuleEngineContainerRegistry<org.kie.api.builder.ReleaseId,org.kie.api.runtime.KieContainer>- Parameters:
releaseId- knowledgebase container module release identifier- Returns:
- knowledgebase container instance
-
lookupForDeployedRelease
public java.util.Optional<org.kie.api.builder.ReleaseId> lookupForDeployedRelease(java.lang.String... releaseTokens)
Description copied from interface:RuleEngineContainerRegistryLookup for a deployed knowledgebase container release id by partial release id tokens (e.g. group id and artifact id)- Specified by:
lookupForDeployedReleasein interfaceRuleEngineContainerRegistry<org.kie.api.builder.ReleaseId,org.kie.api.runtime.KieContainer>- Parameters:
releaseTokens- knowledgebase container module release identifier- Returns:
- optional of container release id
-
removeActiveContainer
public org.kie.api.runtime.KieContainer removeActiveContainer(org.kie.api.builder.ReleaseId releaseHolder)
Description copied from interface:RuleEngineContainerRegistryRemove knowledgebase container identified by release id- Specified by:
removeActiveContainerin interfaceRuleEngineContainerRegistry<org.kie.api.builder.ReleaseId,org.kie.api.runtime.KieContainer>- Parameters:
releaseHolder- knowledgebase container module release identifier- Returns:
- removed knowledge base container instance, null if not found
-
lockReadingRegistry
public void lockReadingRegistry()
Description copied from interface:RuleEngineContainerRegistrylock or unlock registry for reading operations- Specified by:
lockReadingRegistryin interfaceRuleEngineContainerRegistry<org.kie.api.builder.ReleaseId,org.kie.api.runtime.KieContainer>
-
unlockReadingRegistry
public void unlockReadingRegistry()
Description copied from interface:RuleEngineContainerRegistryunlock or unlock registry for reading operations- Specified by:
unlockReadingRegistryin interfaceRuleEngineContainerRegistry<org.kie.api.builder.ReleaseId,org.kie.api.runtime.KieContainer>
-
lockWritingRegistry
public void lockWritingRegistry()
Description copied from interface:RuleEngineContainerRegistrylock or unlock registry for writing operations- Specified by:
lockWritingRegistryin interfaceRuleEngineContainerRegistry<org.kie.api.builder.ReleaseId,org.kie.api.runtime.KieContainer>
-
unlockWritingRegistry
public void unlockWritingRegistry()
Description copied from interface:RuleEngineContainerRegistryunlock or unlock registry for writing operations- Specified by:
unlockWritingRegistryin interfaceRuleEngineContainerRegistry<org.kie.api.builder.ReleaseId,org.kie.api.runtime.KieContainer>
-
isLockedForReading
public boolean isLockedForReading()
Description copied from interface:RuleEngineContainerRegistryCheck if the registry is locked for reading- Specified by:
isLockedForReadingin interfaceRuleEngineContainerRegistry<org.kie.api.builder.ReleaseId,org.kie.api.runtime.KieContainer>- Returns:
- true if the registry is in the state locked for reading
-
isLockedForWriting
public boolean isLockedForWriting()
Description copied from interface:RuleEngineContainerRegistryCheck if the registry is locked for writing- Specified by:
isLockedForWritingin interfaceRuleEngineContainerRegistry<org.kie.api.builder.ReleaseId,org.kie.api.runtime.KieContainer>- Returns:
- true if the registry is in the state locked for writing
-
setup
@PostConstruct public void setup()
-
getConcurrentMapFactory
protected ConcurrentMapFactory getConcurrentMapFactory()
-
setConcurrentMapFactory
public void setConcurrentMapFactory(ConcurrentMapFactory concurrentMapFactory)
-
getReadWriteLock
protected java.util.concurrent.locks.ReadWriteLock getReadWriteLock()
-
getReadLock
protected java.util.concurrent.locks.Lock getReadLock()
-
getWriteLock
protected java.util.concurrent.locks.Lock getWriteLock()
-
-