Package org.drools.core
Class RuleBaseConfiguration
- java.lang.Object
-
- org.drools.core.BaseConfiguration<org.kie.api.conf.KieBaseOption,org.kie.api.conf.SingleValueKieBaseOption,org.kie.api.conf.MultiValueKieBaseOption>
-
- org.drools.core.RuleBaseConfiguration
-
- All Implemented Interfaces:
java.io.Externalizable,java.io.Serializable,org.kie.api.conf.KieBaseOptionsConfiguration,org.kie.api.conf.OptionsConfiguration<org.kie.api.conf.KieBaseOption,org.kie.api.conf.SingleValueKieBaseOption,org.kie.api.conf.MultiValueKieBaseOption>,org.kie.api.KieBaseConfiguration,org.kie.api.PropertiesConfiguration,org.kie.internal.conf.InternalPropertiesConfiguration
public class RuleBaseConfiguration extends BaseConfiguration<org.kie.api.conf.KieBaseOption,org.kie.api.conf.SingleValueKieBaseOption,org.kie.api.conf.MultiValueKieBaseOption> implements org.kie.api.KieBaseConfiguration, java.io.Externalizable
Available configuration options:drools.maintainTms = <true|false> drools.sequential = <true|false> drools.sequential.agenda = <sequential|dynamic> drools.removeIdentities = <true|false> drools.shareAlphaNodes = <true|false> drools.shareBetaNodes = <true|false> drools.alphaNodeHashingThreshold = <1...n> drools.alphaNodeRangeIndexThreshold = <1...n> drools.betaNodeRangeIndexEnabled = <true|false> drools.sessionPool = <1...n> drools.compositeKeyDepth = <1..3> drools.indexLeftBetaMemory = <true/false> drools.indexRightBetaMemory = <true/false> drools.equalityBehavior = <identity|equality> drools.conflictResolver = <qualified class name> drools.consequenceExceptionHandler = <qualified class name> drools.ruleBaseUpdateHandler = <qualified class name> drools.sessionClock = <qualified class name> drools.mbeans = <enabled|disabled> drools.classLoaderCacheEnabled = <true|false> drools.declarativeAgendaEnabled = <true|false> drools.permgenThreshold = <1...n> drools.jittingThreshold = <1...n>
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classRuleBaseConfiguration.AssertBehaviourstatic classRuleBaseConfiguration.SequentialAgenda
-
Field Summary
Fields Modifier and Type Field Description static booleanDEFAULT_PHREAKstatic booleanDEFAULT_SESSION_CACHEstatic java.lang.StringDEFAULT_SIGN_ON_SERIALIZATIONstatic org.kie.api.conf.ConfigurationKey<RuleBaseConfiguration>KEYprotected static org.slf4j.Loggerlogger-
Fields inherited from class org.drools.core.BaseConfiguration
compConfig
-
-
Constructor Summary
Constructors Constructor Description RuleBaseConfiguration(org.kie.internal.conf.CompositeConfiguration<org.kie.api.conf.KieBaseOption,org.kie.api.conf.SingleValueKieBaseOption,org.kie.api.conf.MultiValueKieBaseOption> compConfig)A constructor that sets the classloader to be used as the parent classloader of this rule base classloaders, and the properties to be used as base configuration options
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddActivationListener(java.lang.String name, ActivationListenerFactory factory)voidenforceSingleThreadEvaluation()ActivationListenerFactorygetActivationListenerFactory(java.lang.String name)intgetAlphaNodeHashingThreshold()intgetAlphaNodeRangeIndexThreshold()RuleBaseConfiguration.AssertBehaviourgetAssertBehaviour()intgetCompositeKeyDepth()java.lang.StringgetConsequenceExceptionHandler()org.kie.api.conf.EventProcessingOptiongetEventProcessingMode()org.kie.internal.conf.IndexPrecedenceOptiongetIndexPrecedenceOption()java.lang.StringgetInternalProperty(java.lang.String name)intgetJittingThreshold()intgetMaxThreads()Returns the configured number of maximum threads to use for concurrent propagation when multi-thread evaluation is enabled.<T extends org.kie.api.conf.SingleValueKieBaseOption>
TgetOption(org.kie.api.conf.OptionKey<T> option)java.lang.StringgetRuleBaseUpdateHandler()RuleBaseConfiguration.SequentialAgendagetSequentialAgenda()intgetSessionPoolSize()booleanisBetaNodeRangeIndexEnabled()booleanisDeclarativeAgenda()booleanisIndexLeftBetaMemory()booleanisIndexRightBetaMemory()booleanisMaintainTms()booleanisParallelEvaluation()Returns true if the partitioning of the rulebase is enabled and false otherwise.booleanisParallelExecution()booleanisRemoveIdentities()booleanisSequential()booleanisShareAlphaNodes()booleanisShareBetaNodes()voidreadExternal(java.io.ObjectInput in)voidsetAlphaNodeHashingThreshold(int alphaNodeHashingThreshold)voidsetAlphaNodeRangeIndexThreshold(int alphaNodeRangeIndexThreshold)voidsetAssertBehaviour(RuleBaseConfiguration.AssertBehaviour assertBehaviour)voidsetBetaNodeRangeIndexEnabled(boolean betaNodeRangeIndexEnabled)voidsetCompositeKeyDepth(int compositeKeyDepth)voidsetConsequenceExceptionHandler(java.lang.String consequenceExceptionHandler)voidsetDeclarativeAgendaEnabled(boolean enabled)Enable declarative agendavoidsetEventProcessingMode(org.kie.api.conf.EventProcessingOption mode)voidsetIndexLeftBetaMemory(boolean indexLeftBetaMemory)voidsetIndexPrecedenceOption(org.kie.internal.conf.IndexPrecedenceOption precedence)voidsetIndexRightBetaMemory(boolean indexRightBetaMemory)booleansetInternalProperty(java.lang.String name, java.lang.String value)voidsetJittingThreshold(int jittingThreshold)voidsetMaintainTms(boolean maintainTms)voidsetMaxThreads(int maxThreads)If multi-thread evaluation is enabled, this parameter configures the maximum number of threads each session can use for concurrent Rete propagation.voidsetOption(org.kie.api.conf.KieBaseOption option)voidsetParallelExecution(org.kie.internal.conf.ParallelExecutionOption parallelExecutionOption)voidsetRemoveIdentities(boolean removeIdentities)voidsetRuleBaseUpdateHandler(java.lang.String ruleBaseUpdateHandler)voidsetSequential(boolean sequential)voidsetSequentialAgenda(RuleBaseConfiguration.SequentialAgenda sequentialAgenda)voidsetSessionPoolSize(int sessionPoolSize)voidsetShareAlphaNodes(boolean shareAlphaNodes)voidsetShareBetaNodes(boolean shareBetaNodes)voidwriteExternal(java.io.ObjectOutput out)-
Methods inherited from class org.drools.core.BaseConfiguration
as, checkCanChange, getChainedProperties, getClassLoader, getProperties, getProperty, getPropertyValue, isImmutable, makeImmutable, setClassLoader, setProperty
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
Field Detail
-
KEY
public static final org.kie.api.conf.ConfigurationKey<RuleBaseConfiguration> KEY
-
DEFAULT_PHREAK
public static final boolean DEFAULT_PHREAK
- See Also:
- Constant Field Values
-
DEFAULT_SESSION_CACHE
public static final boolean DEFAULT_SESSION_CACHE
- See Also:
- Constant Field Values
-
DEFAULT_SIGN_ON_SERIALIZATION
public static final java.lang.String DEFAULT_SIGN_ON_SERIALIZATION
- See Also:
- Constant Field Values
-
logger
protected static final transient org.slf4j.Logger logger
-
-
Constructor Detail
-
RuleBaseConfiguration
public RuleBaseConfiguration(org.kie.internal.conf.CompositeConfiguration<org.kie.api.conf.KieBaseOption,org.kie.api.conf.SingleValueKieBaseOption,org.kie.api.conf.MultiValueKieBaseOption> compConfig)
A constructor that sets the classloader to be used as the parent classloader of this rule base classloaders, and the properties to be used as base configuration options
-
-
Method Detail
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException- Specified by:
writeExternalin interfacejava.io.Externalizable- Overrides:
writeExternalin classBaseConfiguration<org.kie.api.conf.KieBaseOption,org.kie.api.conf.SingleValueKieBaseOption,org.kie.api.conf.MultiValueKieBaseOption>- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException- Specified by:
readExternalin interfacejava.io.Externalizable- Overrides:
readExternalin classBaseConfiguration<org.kie.api.conf.KieBaseOption,org.kie.api.conf.SingleValueKieBaseOption,org.kie.api.conf.MultiValueKieBaseOption>- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
getOption
public <T extends org.kie.api.conf.SingleValueKieBaseOption> T getOption(org.kie.api.conf.OptionKey<T> option)
- Specified by:
getOptionin interfaceorg.kie.api.conf.OptionsConfiguration<org.kie.api.conf.KieBaseOption,org.kie.api.conf.SingleValueKieBaseOption,org.kie.api.conf.MultiValueKieBaseOption>
-
setOption
public void setOption(org.kie.api.conf.KieBaseOption option)
- Specified by:
setOptionin interfaceorg.kie.api.conf.OptionsConfiguration<org.kie.api.conf.KieBaseOption,org.kie.api.conf.SingleValueKieBaseOption,org.kie.api.conf.MultiValueKieBaseOption>
-
setInternalProperty
public boolean setInternalProperty(java.lang.String name, java.lang.String value)- Specified by:
setInternalPropertyin interfaceorg.kie.internal.conf.InternalPropertiesConfiguration
-
getInternalProperty
public java.lang.String getInternalProperty(java.lang.String name)
- Specified by:
getInternalPropertyin interfaceorg.kie.internal.conf.InternalPropertiesConfiguration
-
setSequential
public void setSequential(boolean sequential)
-
isSequential
public boolean isSequential()
-
isMaintainTms
public boolean isMaintainTms()
-
setMaintainTms
public void setMaintainTms(boolean maintainTms)
-
isRemoveIdentities
public boolean isRemoveIdentities()
-
setRemoveIdentities
public void setRemoveIdentities(boolean removeIdentities)
-
isShareAlphaNodes
public boolean isShareAlphaNodes()
-
setShareAlphaNodes
public void setShareAlphaNodes(boolean shareAlphaNodes)
-
isShareBetaNodes
public boolean isShareBetaNodes()
-
setShareBetaNodes
public void setShareBetaNodes(boolean shareBetaNodes)
-
getJittingThreshold
public int getJittingThreshold()
-
setJittingThreshold
public void setJittingThreshold(int jittingThreshold)
-
getAlphaNodeHashingThreshold
public int getAlphaNodeHashingThreshold()
-
setAlphaNodeHashingThreshold
public void setAlphaNodeHashingThreshold(int alphaNodeHashingThreshold)
-
getAlphaNodeRangeIndexThreshold
public int getAlphaNodeRangeIndexThreshold()
-
setAlphaNodeRangeIndexThreshold
public void setAlphaNodeRangeIndexThreshold(int alphaNodeRangeIndexThreshold)
-
isBetaNodeRangeIndexEnabled
public boolean isBetaNodeRangeIndexEnabled()
-
setBetaNodeRangeIndexEnabled
public void setBetaNodeRangeIndexEnabled(boolean betaNodeRangeIndexEnabled)
-
getSessionPoolSize
public int getSessionPoolSize()
-
setSessionPoolSize
public void setSessionPoolSize(int sessionPoolSize)
-
getAssertBehaviour
public RuleBaseConfiguration.AssertBehaviour getAssertBehaviour()
-
setAssertBehaviour
public void setAssertBehaviour(RuleBaseConfiguration.AssertBehaviour assertBehaviour)
-
getEventProcessingMode
public org.kie.api.conf.EventProcessingOption getEventProcessingMode()
-
setEventProcessingMode
public void setEventProcessingMode(org.kie.api.conf.EventProcessingOption mode)
-
getCompositeKeyDepth
public int getCompositeKeyDepth()
-
setCompositeKeyDepth
public void setCompositeKeyDepth(int compositeKeyDepth)
-
isIndexLeftBetaMemory
public boolean isIndexLeftBetaMemory()
-
setIndexLeftBetaMemory
public void setIndexLeftBetaMemory(boolean indexLeftBetaMemory)
-
isIndexRightBetaMemory
public boolean isIndexRightBetaMemory()
-
setIndexRightBetaMemory
public void setIndexRightBetaMemory(boolean indexRightBetaMemory)
-
getIndexPrecedenceOption
public org.kie.internal.conf.IndexPrecedenceOption getIndexPrecedenceOption()
-
setIndexPrecedenceOption
public void setIndexPrecedenceOption(org.kie.internal.conf.IndexPrecedenceOption precedence)
-
getConsequenceExceptionHandler
public java.lang.String getConsequenceExceptionHandler()
-
setConsequenceExceptionHandler
public void setConsequenceExceptionHandler(java.lang.String consequenceExceptionHandler)
-
getRuleBaseUpdateHandler
public java.lang.String getRuleBaseUpdateHandler()
-
setRuleBaseUpdateHandler
public void setRuleBaseUpdateHandler(java.lang.String ruleBaseUpdateHandler)
-
getSequentialAgenda
public RuleBaseConfiguration.SequentialAgenda getSequentialAgenda()
-
setSequentialAgenda
public void setSequentialAgenda(RuleBaseConfiguration.SequentialAgenda sequentialAgenda)
-
setParallelExecution
public void setParallelExecution(org.kie.internal.conf.ParallelExecutionOption parallelExecutionOption)
-
enforceSingleThreadEvaluation
public void enforceSingleThreadEvaluation()
-
isParallelEvaluation
public boolean isParallelEvaluation()
Returns true if the partitioning of the rulebase is enabled and false otherwise. Default is false.- Returns:
-
isParallelExecution
public boolean isParallelExecution()
-
setMaxThreads
public void setMaxThreads(int maxThreads)
If multi-thread evaluation is enabled, this parameter configures the maximum number of threads each session can use for concurrent Rete propagation.- Parameters:
maxThreads- the maximum number of threads to use. If 0 or a negative number is set, the engine will use number of threads equal to the number of partitions in the rule base. Default number of threads is 0.
-
getMaxThreads
public int getMaxThreads()
Returns the configured number of maximum threads to use for concurrent propagation when multi-thread evaluation is enabled. Default is zero.- Returns:
-
isDeclarativeAgenda
public boolean isDeclarativeAgenda()
-
setDeclarativeAgendaEnabled
public void setDeclarativeAgendaEnabled(boolean enabled)
Enable declarative agenda- Parameters:
enabled-
-
addActivationListener
public void addActivationListener(java.lang.String name, ActivationListenerFactory factory)
-
getActivationListenerFactory
public ActivationListenerFactory getActivationListenerFactory(java.lang.String name)
-
-