A.2. Environment Properties

As opposed to system properties, environment properties are passed to an individual KieSession, allowing you to control its behaviour independently on the rest of the deployment.

The properties available to you are the constants of the class org.kie.api.runtime.EnvironmentName.

A.2.1. Configuration

To set the environment properties on a KieSession, you can create a new session with an instance of the Environment or RuntimeEnvironment interface:

Setting Environment Property using Environment interface

Environment env = EnvironmentFactory.newEnvironment();
env.set(EnvironmentName.SAMPLE_PROPERTY, true);
kbase.newKieSession(null, env);

Setting Environment Property using RuntimeEnvironment interface

RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get()
.newDefaultBuilder()
....

environment.getEnvironment().set(EnvironmentName.SAMPLE_PROPERTY, true);
singletonManager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment);

A.2.2. List of Environment Properties

This section contains the alphabetically sorted list of all recognized environment properties in Red Hat JBoss BRMS 6.3.

Red Hat JBoss BRMS Environment Properties

CALENDARS
This property is not used.
DATE_FORMATS
This property is not used.
GLOBALS
ValuesDefault

Any object declared in DRL or BPMN

N/A

OBJECT_MARSHALLING_STRATEGIES

Enable use of pluggable variable persistence strategies. Allows storing variables in different data stores.

ValuesDefault

An instance of org.kie.api.marshalling.ObjectMarshallingStrategy

Dependent on the engine configuration. If no other strategy is available, org.drools.core.marshalling.impl.SerializablePlaceholderResolvingStrategy is used.

PERSISTENCE_CONTEXT_MANAGER

The ProcessPersistenceContextManager instance used for process persistence.

ValuesDefault

An instance of org.jbpm.persistence.ProcessPersistenceContextManager

An instance of org.jbpm.persistence.JpaProcessPersistenceContextManager

TRANSACTION

Optional property if UserTransaction can not be obtained using JNDI lookup.

ValuesDefault

An instance of UserTransaction

null

TRANSACTION_MANAGER

Get the TransactionManager instance from the environment or context. For example:

info = context.get(EnvironmentName.TRANSACTION_MANAGER)
ValuesDefault

An instance of TransactionManager

Depends on your configuration

TRANSACTION_SYNCHRONIZATION_REGISTRY

Allows access to and control of the active transaction. Used by Red Hat JBoss BRMS to efficiently manage persistence.

ValuesDefault

An instance of TransactionSynchronizationRegistry

Taken from the environment—​usually JNDI lookup in JTA environments