Class DefaultKieSessionHelper<T>
- java.lang.Object
-
- de.hybris.platform.ruleengine.drools.impl.DefaultModuleReleaseIdAware
-
- de.hybris.platform.ruleengine.drools.impl.DefaultKieSessionHelper<T>
-
- All Implemented Interfaces:
KieSessionHelper<T>,ModuleReleaseIdAware
public class DefaultKieSessionHelper<T> extends DefaultModuleReleaseIdAware implements KieSessionHelper<T>
Default implementation ofKieSessionHelper
-
-
Constructor Summary
Constructors Constructor Description DefaultKieSessionHelper()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidassertKieSessionClass(java.lang.Class<T> kieSessionClass)protected voidassertSessionIsStateful(DroolsKIESessionModel kieSession)protected voidassertSessionIsStateless(DroolsKIESessionModel kieSession)protected RuleExecutionCountListenercreateRuleExecutionCounterListener()protected org.kie.api.runtime.KieSessionsPoolgetKieContainerSessionsPool(org.kie.api.runtime.KieContainer kieContainer, boolean stateless)protected intgetKieSessionPoolInitialCapacity()protected java.util.Map<org.kie.api.runtime.KieContainer,org.kie.api.runtime.KieSessionsPool>getKieSessionsPools()protected java.lang.Class<? extends RuleExecutionCountListener>getRuleExecutionCounterClass()protected org.kie.api.runtime.KieSessioninitializeKieSessionInternal(RuleEvaluationContext context, DroolsRuleEngineContextModel ruleEngineContext, org.kie.api.runtime.KieContainer kieContainer)TinitializeSession(java.lang.Class<T> kieSessionClass, RuleEvaluationContext context, org.kie.api.runtime.KieContainer kieContainer)given theRuleEvaluationContextand currently active instance ofKieContainer, initializes theKieSessionHelperkie session for evaluation of rulesprotected org.kie.api.runtime.StatelessKieSessioninitializeStatelessKieSessionInternal(RuleEvaluationContext context, DroolsRuleEngineContextModel ruleEngineContext, org.kie.api.runtime.KieContainer kieContainer)protected booleanisKeepOnlyOneSessionPoolVersion()protected booleanisKieSessionPoolEnabled()protected voidregisterKieSessionListeners(RuleEvaluationContext context, org.kie.api.runtime.KieSession session, java.lang.Long maximumExecutions)protected voidregisterStatelessKieSessionListeners(RuleEvaluationContext context, org.kie.api.runtime.StatelessKieSession session, java.lang.Long maximumExecutions)voidsetKeepOnlyOneSessionPoolVersion(boolean keepOnlyOneSessionPoolVersion)voidsetKieSessionPoolEnabled(boolean kieSessionPoolEnabled)voidsetKieSessionPoolInitialCapacity(int kieSessionPoolInitialCapacity)voidsetRuleExecutionCounterClass(java.lang.Class<? extends RuleExecutionCountListener> ruleExecutionCounterClass)voidshutdownKieSessionPools(java.lang.String moduleName, java.lang.String version)removes all old kieContainers (same artifactId but other versions) after successful swappingprotected voidteardownSessionsPools()-
Methods inherited from class de.hybris.platform.ruleengine.drools.impl.DefaultModuleReleaseIdAware
getDeployedKieModuleReleaseId, getDummyReleaseId, getRuleEngineKieModuleSwapper, setRuleEngineKieModuleSwapper, validateRuleEvaluationContext
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface de.hybris.platform.ruleengine.drools.ModuleReleaseIdAware
getDeployedKieModuleReleaseId
-
-
-
-
Method Detail
-
initializeSession
public T initializeSession(java.lang.Class<T> kieSessionClass, RuleEvaluationContext context, org.kie.api.runtime.KieContainer kieContainer)
Description copied from interface:KieSessionHelpergiven theRuleEvaluationContextand currently active instance ofKieContainer, initializes theKieSessionHelperkie session for evaluation of rules- Specified by:
initializeSessionin interfaceKieSessionHelper<T>- Parameters:
kieSessionClass- implementation class of the Kie session (KieSessionorStatelessKieSession)context- instance ofRuleEvaluationContextkieContainer- currently active instance ofKieContainer- Returns:
- initialized instance of
KieSession
-
initializeKieSessionInternal
protected org.kie.api.runtime.KieSession initializeKieSessionInternal(RuleEvaluationContext context, DroolsRuleEngineContextModel ruleEngineContext, org.kie.api.runtime.KieContainer kieContainer)
-
initializeStatelessKieSessionInternal
protected org.kie.api.runtime.StatelessKieSession initializeStatelessKieSessionInternal(RuleEvaluationContext context, DroolsRuleEngineContextModel ruleEngineContext, org.kie.api.runtime.KieContainer kieContainer)
-
assertKieSessionClass
protected void assertKieSessionClass(java.lang.Class<T> kieSessionClass)
-
assertSessionIsStateless
protected void assertSessionIsStateless(DroolsKIESessionModel kieSession)
-
assertSessionIsStateful
protected void assertSessionIsStateful(DroolsKIESessionModel kieSession)
-
registerKieSessionListeners
protected void registerKieSessionListeners(RuleEvaluationContext context, org.kie.api.runtime.KieSession session, java.lang.Long maximumExecutions)
-
registerStatelessKieSessionListeners
protected void registerStatelessKieSessionListeners(RuleEvaluationContext context, org.kie.api.runtime.StatelessKieSession session, java.lang.Long maximumExecutions)
-
createRuleExecutionCounterListener
protected RuleExecutionCountListener createRuleExecutionCounterListener()
-
teardownSessionsPools
@PreDestroy protected void teardownSessionsPools()
-
getKieContainerSessionsPool
protected org.kie.api.runtime.KieSessionsPool getKieContainerSessionsPool(org.kie.api.runtime.KieContainer kieContainer, boolean stateless)
-
shutdownKieSessionPools
public void shutdownKieSessionPools(java.lang.String moduleName, java.lang.String version)removes all old kieContainers (same artifactId but other versions) after successful swapping- Specified by:
shutdownKieSessionPoolsin interfaceKieSessionHelper<T>- Parameters:
moduleName- the rule module nameversion- the rule module version
-
getRuleExecutionCounterClass
protected java.lang.Class<? extends RuleExecutionCountListener> getRuleExecutionCounterClass()
-
getKieSessionsPools
protected java.util.Map<org.kie.api.runtime.KieContainer,org.kie.api.runtime.KieSessionsPool> getKieSessionsPools()
-
setRuleExecutionCounterClass
public void setRuleExecutionCounterClass(java.lang.Class<? extends RuleExecutionCountListener> ruleExecutionCounterClass)
-
getKieSessionPoolInitialCapacity
protected int getKieSessionPoolInitialCapacity()
-
setKieSessionPoolInitialCapacity
public void setKieSessionPoolInitialCapacity(int kieSessionPoolInitialCapacity)
-
isKeepOnlyOneSessionPoolVersion
protected boolean isKeepOnlyOneSessionPoolVersion()
-
setKeepOnlyOneSessionPoolVersion
public void setKeepOnlyOneSessionPoolVersion(boolean keepOnlyOneSessionPoolVersion)
-
isKieSessionPoolEnabled
protected boolean isKieSessionPoolEnabled()
-
setKieSessionPoolEnabled
public void setKieSessionPoolEnabled(boolean kieSessionPoolEnabled)
-
-