/**
* 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.runtime;
import org.drools.PropertiesConfiguration;
import org.drools.runtime.conf.KnowledgeSessionOptionsConfiguration;
/**
* An object of this class stores a configuration for a Session. It must be used at session instantiation time
* or not used at all.
* <p>
* This class will automatically load default values from a number of places, accumulating properties from each location.
* This list of locations, in decreasing priority, is:
* System properties, home directory, working directory, META-INF/ of an optionally provided classLoader,
* META-INF/ of Thread.currentThread().getContextClassLoader() and META-INF/ of ClassLoader.getSystemClassLoader().
* Thus, a default configuration value for all your new Knowledge Sessions is provided by setting the corresponding
* System property.
* <p>
* The configuration is immutable after the KnowledgeSession is created, and there is no way to make it
* mutable again. This is to avoid inconsistent behaviour within a Knowledge Session.
* <p>
* The available properties are:
* <ul>
* <li>drools.keepReference = <"true"|"false"><br>
* If set to true (the default), the KnowledgeBase will retain a reference to the newly created session.
* <li>drools.clockType = <"pseudo"|"realtime"><br>
* Defines the kind of clock to be used for Event timestamps and temporal reasoning. Default is "realtime".
* <li>drools.queryListener = <"standard"|"lightweight"><br>
* The "standard" (and default) query data collection mechanism copies matching facts for safeguarding against
* Working Memory modifications happening concurrently. If no such parallel modification
* is possible, the more efficient lightweight query listener may be used.
* <li>drools.workItemHandlers is the prefix for the property name for a Drools Flow work item handler.
* </ul>
*/
public interface KnowledgeSessionConfiguration
extends
PropertiesConfiguration,
KnowledgeSessionOptionsConfiguration {
}