public class RuleBaseConfiguration extends Object implements org.kie.api.KieBaseConfiguration, Externalizable
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.compositeKeyDepth = <1..3> drools.indexLeftBetaMemory = <true/false> drools.indexRightBetaMemory = <true/false> drools.equalityBehavior = <identity|equality> drools.executorService = <qualified class name> 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.phreakEnabled = <true|false> drools.declarativeAgendaEnabled = <true|false> drools.permgenThreshold = <1...n> drools.jittingThreshold = <1...n>
Modifier and Type | Class and Description |
---|---|
static class |
RuleBaseConfiguration.AssertBehaviour |
static class |
RuleBaseConfiguration.LogicalOverride |
static class |
RuleBaseConfiguration.SequentialAgenda |
Modifier and Type | Field and Description |
---|---|
static boolean |
DEFAULT_PHREAK |
static boolean |
DEFAULT_SESSION_CACHE |
static String |
DEFAULT_SIGN_ON_SERIALIZATION |
protected static org.slf4j.Logger |
logger |
Constructor and Description |
---|
RuleBaseConfiguration()
Creates a new rulebase with a default parent class loader set according
to the following algorithm:
If a Thread.currentThread().getContextClassLoader() returns a non-null class loader,
it will be used as the parent class loader for this rulebase class loaders, otherwise,
the RuleBaseConfiguration.class.getClassLoader() class loader will be used.
|
RuleBaseConfiguration(ClassLoader... classLoaders)
A constructor that sets the parent classloader to be used
while dealing with this rule base
|
RuleBaseConfiguration(Properties properties)
Creates a new rulebase configuration using the provided properties
as configuration options.
|
RuleBaseConfiguration(Properties properties,
ClassLoader... classLoaders)
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
|
Modifier and Type | Method and Description |
---|---|
void |
addActivationListener(String name,
ActivationListenerFactory factory) |
ActivationListenerFactory |
getActivationListenerFactory(String name) |
AgendaGroupFactory |
getAgendaGroupFactory() |
int |
getAlphaNodeHashingThreshold() |
RuleBaseConfiguration.AssertBehaviour |
getAssertBehaviour() |
ClassLoader |
getClassLoader() |
KieComponentFactory |
getComponentFactory() |
int |
getCompositeKeyDepth() |
ConflictResolver |
getConflictResolver() |
String |
getConsequenceExceptionHandler() |
static RuleBaseConfiguration |
getDefaultInstance() |
org.kie.api.conf.EventProcessingOption |
getEventProcessingMode() |
String |
getExecutorService() |
org.kie.internal.conf.IndexPrecedenceOption |
getIndexPrecedenceOption() |
int |
getJittingThreshold() |
int |
getMaxThreads()
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> |
getOption(Class<T> option) |
<T extends org.kie.api.conf.MultiValueKieBaseOption> |
getOption(Class<T> option,
String key) |
int |
getPermGenThreshold() |
String |
getProperty(String name) |
String |
getRuleBaseUpdateHandler() |
RuleBaseConfiguration.SequentialAgenda |
getSequentialAgenda() |
org.kie.internal.builder.conf.SessionCacheOption |
getSessionCacheOption() |
List<Map<String,Object>> |
getWorkDefinitions() |
boolean |
isAdvancedProcessRuleIntegration() |
boolean |
isClassLoaderCacheEnabled() |
boolean |
isDeclarativeAgenda() |
boolean |
isImmutable()
Returns true if this configuration object is immutable or false otherwise.
|
boolean |
isIndexLeftBetaMemory() |
boolean |
isIndexRightBetaMemory() |
boolean |
isMaintainTms() |
boolean |
isMBeansEnabled()
Returns true if the management and monitoring through MBeans is active
|
boolean |
isMultithreadEvaluation()
Returns true if the partitioning of the rulebase is enabled
and false otherwise.
|
boolean |
isPhreakEnabled() |
boolean |
isRemoveIdentities() |
boolean |
isSequential() |
boolean |
isShareAlphaNodes() |
boolean |
isShareBetaNodes() |
void |
makeImmutable()
Makes the configuration object immutable.
|
void |
readExternal(ObjectInput in) |
void |
setAdvancedProcessRuleIntegration(boolean advancedProcessRuleIntegration) |
void |
setAlphaNodeHashingThreshold(int alphaNodeHashingThreshold) |
void |
setAssertBehaviour(RuleBaseConfiguration.AssertBehaviour assertBehaviour) |
void |
setClassLoader(ClassLoader classLoader) |
void |
setClassLoaderCacheEnabled(boolean classLoaderCacheEnabled) |
void |
setComponentFactory(KieComponentFactory componentFactory) |
void |
setCompositeKeyDepth(int compositeKeyDepth) |
void |
setConflictResolver(ConflictResolver conflictResolver) |
void |
setConsequenceExceptionHandler(String consequenceExceptionHandler) |
void |
setDeclarativeAgendaEnabled(boolean enabled)
Enable declarative agenda
|
void |
setEventProcessingMode(org.kie.api.conf.EventProcessingOption mode) |
void |
setExecutorService(String executorService) |
void |
setIndexLeftBetaMemory(boolean indexLeftBetaMemory) |
void |
setIndexPrecedenceOption(org.kie.internal.conf.IndexPrecedenceOption precedence) |
void |
setIndexRightBetaMemory(boolean indexRightBetaMemory) |
void |
setJittingThreshold(int jittingThreshold) |
void |
setMaintainTms(boolean maintainTms) |
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.
|
void |
setMBeansEnabled(boolean mbeansEnabled)
Defines if the RuleBase should expose management and monitoring MBeans
|
void |
setMultithreadEvaluation(boolean enableMultithread)
Defines if the RuleBase should be executed using a pool of
threads for evaluating the rules ("true"), or if the rulebase
should work in classic single thread mode ("false").
|
<T extends org.kie.api.conf.KieBaseOption> |
setOption(T option) |
void |
setPermGenThreshold(int permGenThreshold) |
void |
setPhreakEnabled(boolean enabled)
Enable Unlinking.
|
void |
setProperty(String name,
String value) |
void |
setRemoveIdentities(boolean removeIdentities) |
void |
setRuleBaseUpdateHandler(String ruleBaseUpdateHandler) |
void |
setSequential(boolean sequential) |
void |
setSequentialAgenda(RuleBaseConfiguration.SequentialAgenda sequentialAgenda) |
void |
setSessionCacheOption(org.kie.internal.builder.conf.SessionCacheOption sessionCacheOption) |
void |
setShareAlphaNodes(boolean shareAlphaNodes) |
void |
setShareBetaNodes(boolean shareBetaNodes) |
void |
writeExternal(ObjectOutput out) |
public static final boolean DEFAULT_PHREAK
public static final boolean DEFAULT_SESSION_CACHE
public static final String DEFAULT_SIGN_ON_SERIALIZATION
protected static final transient org.slf4j.Logger logger
public RuleBaseConfiguration(Properties properties)
properties
- public RuleBaseConfiguration()
public RuleBaseConfiguration(ClassLoader... classLoaders)
classLoaders
- public RuleBaseConfiguration(Properties properties, ClassLoader... classLoaders)
classLoaders
- properties
- public static RuleBaseConfiguration getDefaultInstance()
public void writeExternal(ObjectOutput out) throws IOException
writeExternal
in interface Externalizable
IOException
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal
in interface Externalizable
IOException
ClassNotFoundException
public void setProperty(String name, String value)
setProperty
in interface org.kie.api.PropertiesConfiguration
public String getProperty(String name)
getProperty
in interface org.kie.api.PropertiesConfiguration
public void makeImmutable()
public boolean isImmutable()
public void setSequential(boolean sequential)
public boolean isSequential()
public boolean isMaintainTms()
public void setMaintainTms(boolean maintainTms)
public boolean isRemoveIdentities()
public void setRemoveIdentities(boolean removeIdentities)
public boolean isShareAlphaNodes()
public void setShareAlphaNodes(boolean shareAlphaNodes)
public boolean isShareBetaNodes()
public void setShareBetaNodes(boolean shareBetaNodes)
public int getPermGenThreshold()
public void setPermGenThreshold(int permGenThreshold)
public int getJittingThreshold()
public void setJittingThreshold(int jittingThreshold)
public int getAlphaNodeHashingThreshold()
public void setAlphaNodeHashingThreshold(int alphaNodeHashingThreshold)
public RuleBaseConfiguration.AssertBehaviour getAssertBehaviour()
public void setAssertBehaviour(RuleBaseConfiguration.AssertBehaviour assertBehaviour)
public org.kie.api.conf.EventProcessingOption getEventProcessingMode()
public void setEventProcessingMode(org.kie.api.conf.EventProcessingOption mode)
public int getCompositeKeyDepth()
public void setCompositeKeyDepth(int compositeKeyDepth)
public boolean isIndexLeftBetaMemory()
public void setIndexLeftBetaMemory(boolean indexLeftBetaMemory)
public boolean isIndexRightBetaMemory()
public void setIndexRightBetaMemory(boolean indexRightBetaMemory)
public org.kie.internal.conf.IndexPrecedenceOption getIndexPrecedenceOption()
public void setIndexPrecedenceOption(org.kie.internal.conf.IndexPrecedenceOption precedence)
public String getExecutorService()
public void setExecutorService(String executorService)
public String getConsequenceExceptionHandler()
public void setConsequenceExceptionHandler(String consequenceExceptionHandler)
public String getRuleBaseUpdateHandler()
public void setRuleBaseUpdateHandler(String ruleBaseUpdateHandler)
public AgendaGroupFactory getAgendaGroupFactory()
public RuleBaseConfiguration.SequentialAgenda getSequentialAgenda()
public void setSequentialAgenda(RuleBaseConfiguration.SequentialAgenda sequentialAgenda)
public void setMultithreadEvaluation(boolean enableMultithread)
enableMultithread
- true for multi-thread or
false for single-thread. Default is false.public boolean isMultithreadEvaluation()
public void setMaxThreads(int maxThreads)
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.public int getMaxThreads()
public boolean isClassLoaderCacheEnabled()
public void setClassLoaderCacheEnabled(boolean classLoaderCacheEnabled)
public boolean isPhreakEnabled()
public void setPhreakEnabled(boolean enabled)
enabled
- public org.kie.internal.builder.conf.SessionCacheOption getSessionCacheOption()
public void setSessionCacheOption(org.kie.internal.builder.conf.SessionCacheOption sessionCacheOption)
public boolean isDeclarativeAgenda()
public void setDeclarativeAgendaEnabled(boolean enabled)
enabled
- public boolean isAdvancedProcessRuleIntegration()
public void setAdvancedProcessRuleIntegration(boolean advancedProcessRuleIntegration)
public void addActivationListener(String name, ActivationListenerFactory factory)
public ActivationListenerFactory getActivationListenerFactory(String name)
public void setConflictResolver(ConflictResolver conflictResolver)
public ConflictResolver getConflictResolver()
public ClassLoader getClassLoader()
public void setClassLoader(ClassLoader classLoader)
public KieComponentFactory getComponentFactory()
public void setComponentFactory(KieComponentFactory componentFactory)
public void setMBeansEnabled(boolean mbeansEnabled)
mbeansEnabled
- true for multi-thread or
false for single-thread. Default is false.public boolean isMBeansEnabled()
public <T extends org.kie.api.conf.SingleValueKieBaseOption> T getOption(Class<T> option)
getOption
in interface org.kie.api.conf.KieBaseOptionsConfiguration
public <T extends org.kie.api.conf.KieBaseOption> void setOption(T option)
setOption
in interface org.kie.api.conf.KieBaseOptionsConfiguration
Copyright © 2001–2016 JBoss by Red Hat. All rights reserved.