org.drools.KnowledgeBaseConfiguration Maven / Gradle / Ivy
/**
* Copyright 2010 JBoss Inc
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.drools;
import org.drools.conf.KnowledgeBaseOptionsConfiguration;
/**
*
* A class to store KnowledgeBase related configuration. It must be used at KnowledgeBase instantiation time
* or not used at all.
*
*
*
* This class will automatically load default values from a number of places, accumulating properties from each location.
* This list of locations, in given priority is:
* System properties, home directory, working directory, META-INF/ of optionally provided classLoader
* META-INF/ of Thread.currentThread().getContextClassLoader() and META-INF/ of ClassLoader.getSystemClassLoader()
*
*
*
* So if you want to set a default configuration value for all your new KnowledgeBase, you can simply set the property as
* a System property.
*
*
*
* After the KnowledgeBase is created, it makes the configuration immutable and there is no way to make it
* mutable again. This is to avoid inconsistent behaviour inside KnowledgeBase.
*
*
*
* The following properties are supported:
*
* - drools.maintainTms = <true|false>
* - drools.assertBehaviour = <identity|equality>
* - drools.logicalOverride = <discard|preserve>
* - 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.consequenceExceptionHandler = <qualified class name>
* - drools.maxThreads = <-1|1..n>
* - drools.multithreadEvaluation = <true|false>
* - drools.mbeans = <enabled|disabled>
*
*
*
*
*
* The follow properties have not yet been migrated from the Drools 4.0 api:
*
* - drools.executorService = <qualified class name>
* - drools.conflictResolver = <qualified class name>
* - drools.ruleBaseUpdateHandler = <qualified class name>
*
*
*/
public interface KnowledgeBaseConfiguration
extends
PropertiesConfiguration,
KnowledgeBaseOptionsConfiguration {
}