Appendix A. Configuration Properties
This chapter contains all public system properties and KIE environment entries that you can use to configure your deployment of Red Hat JBoss BRMS.
A.1. System Properties
System properties configure the entire JVM Red Hat JBoss BRMS runs on. You can either provide them at runtime, or set them in the configuration XML file for your deployment.
A.1.1. Runtime Configuration
To set a particular property at runtime, add a flag -D
with the property’s name and value when starting the server. You can list multiple such properties at the same time.
Configuring System Properties at Runtime (Standalone deployments)
-
Navigate to
SERVER_HOME/bin
. Run the server with the desired flags:
./standalone.sh -Dorg.kie.custom.property=value -Dorg.uberfire.switch=false
NoteOn Windows, run
standalone.bat
instead ofstandalone.sh
.
A.1.2. XML Configuration
To set a property in Red Hat JBoss BRMS configuration, add an entry under the <system-properties>
section in the standalone.xml
file:
<system-properties> <property name="org.kie.custom.property" value="random_value"/> <property name="org.uberfire.switch" value="false"/> ... </system-properties>
When running Red Hat JBoss BRMS in domain mode, add the entries in the <system-properties>
element of the appropriate node in the host.xml
file.
A.1.3. List of System Properties
This section contains the alphabetically sorted list of all recognized system properties in Red Hat JBoss BRMS 6.4.
Red Hat JBoss BRMS System Properties
- btm.root
Root directory for Bitronix Transaction Manager. The discovery of configuration and other files starts in this location.
Values Default String
N/A
- drools.propertySpecific
Sets property reactivity behavior of the Red Hat JBoss BRMS engine. Options are following:
-
DISABLED
: Property reactivity turned off. -
ALLOWED
: Property reactivity allowed. -
ALWAYS
: Property reactivity always on.
Values Default DISABLED
,ALLOWED
, orALWAYS
ALLOWED
-
- drools.ruleEngine
Specifies which algorithm the Red Hat JBoss BRMS rule engine should use.
Values Default phreak
orreteoo
phreak
- drools.sequential
Enables sequential mode for stateless sessions.
Values Default true
orfalse
false
- drools.sequential.agenda
Selects static or dynamic agenda with sequential mode.
Values Default static
ordynamic
static
for standard mode,dynamic
for sequential mode- jboss.node.name
A node name unique in a Red Hat JBoss BRMS cluster.
Values Default String
N/A
- kie.maven.settings.custom
The location of a custom
settings.xml
file for Maven configuration.Values Default Path
N/A
- kie.server.jms.queues.response
The JNDI name of response queue for JMS.
Values Default String
queue/KIE.SERVER.RESPONSE
- org.drools.server.ext.disabled
When set to
true
, disables the BRM support (for example rules support).Values Default true
orfalse
false
- org.drools.server.filter.classes
When set to
true
, the Drools Realtime Decision Server extension accepts custom classes annotated byXmlRootElement
orRemotable
annotations only.Values Default true
orfalse
false
- org.guvnor.inbox.disabled
When set to
true
, this system property disables the Inbox feature and the Inbox mechanism of tracking changes to files is turned off. Doing this enables faster response to file system operations.Values Default true
orfalse
false
- org.guvnor.m2repo.dir
The location where Maven artifacts are stored. When you build and deploy a project, it is stored in this directory. Change the setting, for example, to allow easier backup of your maven repository.
Values Default Path
EAP_HOME/repositories/kie
- org.guvnor.project.gav.check.disabled
Disables a duplicate
GroupId
,ArtifactId
, andVersion
(GAV) detection. When you build and deploy a project, Business Central scans the Maven repository for an artifact with the same GAV values. If set totrue
, Business Central silently overrides any previous project. If set tofalse
, the user is required to confirm overriding the old project.Values Default true
orfalse
false
- org.kie.auto.deploy.enabled
When enabled, issuing a Build & Deploy operation in Business Central always deploys to runtime.
Values Default true
orfalse
true
- org.kie.build.disable-project-explorer
Disables automatic build of the selected project in Project Explorer.
Values Default true
orfalse
false
- org.kie.demo
Enables external cloning of a demo application from GitHub. This System Property takes precedence over
org.kie.example
.Values Default true
orfalse
true
- org.kie.example
When set to
true
, creates an example organization unit and repository. This system property allows you to create projects and assets without creating your custom organization unit and repository. It is useful, for example, to simplify the getting started experience.Values Default true
orfalse
false
- org.kie.example.repositories
Sets the path to the directory containing example repositories. If you set this system property, repositories in the specified directory are automatically cloned into Business Central during startup. This property overrides
org.kie.example
andorg.kie.demo
.WarningYou must download the example repositories from the Customer Portal and extract them to this directory before setting this system property.
Values Default Path
N/A
- org.kie.executor.disabled
Disables the Red Hat JBoss BRMS executor.
Values Default true
orfalse
false
- org.kie.executor.initial.delay
The initial delay before the Red Hat JBoss BRMS executor starts a job, in milliseconds.
Values Default Number (
Integer
)100
- org.kie.executor.interval
The time between the moment the Red Hat JBoss BRMS executor finishes a job and the moment it starts a new one, in a time unit specified in
org.kie.executor.timeunit
.Values Default Number (
Integer
)3
- org.kie.executor.pool.size
The number of threads used by the Red Hat JBoss BRMS executor.
Values Default Number (
Integer
)1
- org.kie.executor.retry.count
The number of retries the Red Hat JBoss BRMS executor attempts on a failed job.
Values Default Number (
Integer
)3
- org.kie.executor.timeunit
The time unit in which the
org.kie.executor.interval
is specified.Values Default A
java.util.concurrent.TimeUnit
constantSECONDS
- org.kie.git.deployments.enabled
When enabled, Red Hat JBoss BRMS uses a Git repository for storing deployments instead of a database.
Values Default true
orfalse
false
- org.kie.mail.session
The JNDI name of the mail session as registered in the application server, for use by
EmailWorkItemHandler
.Values Default String
mail/jbpmMailSession
- org.kie.server.controller
A comma-separated list of URLs to controller REST endpoints, for example
http://localhost:8080/business-central/rest/controller
. This property is required when using a controller.Values Default Comma-separated list
N/A
- org.kie.server.controller.connect
The waiting time between repeated attempts to connect Realtime Decision Server to the controller when Realtime Decision Server starts up, in milliseconds.
Values Default Number (
Long
)10000
- org.kie.server.controller.pwd
The password to connect to the controller REST API. This property is required when using a controller.
Values Default String
kieserver1!
- org.kie.server.controller.token
This property allows you to use a token-based authentication between the KIE server and the controller instead of the basic user name/password authentication. The KIE server sends the token as a parameter in the request header. Note that long-lived access tokens are required as the tokens are not refreshed.
Values Default String
N/A
- org.kie.server.controller.user
The user name to connect to the controller REST API. This property is required when using a controller.
Values Default String
kieserver
- org.kie.server.domain
The JAAS
LoginContext
domain used to authenticate users when using JMS.Values Default String
N/A
- org.kie.server.id
An arbitrary ID to be assigned to this server. If a remote controller is configured, this is the ID under which the server will connect to the controller to fetch the KIE container configurations. If not provided, the ID is automatically generated.
Values Default String
N/A
- org.kie.server.location
The URL of the Realtime Decision Server instance used by the controller to call back on this server, for example:
http://localhost:8230/kie-server/services/rest/server
. This property is required when using a controller.Values Default URL
N/A
- org.kie.server.pwd
The password used to connect with the KIE server from the controller, required when running in managed mode. You must set this property in Business Central system properties, and it is required when using a controller.
Values Default String
kieserver1!
- org.kie.server.repo
The location where Realtime Decision Server state files will be stored.
Values Default Path
.
- org.kie.server.sync.deploy
Instructs the KIE server to hold the deployment until the controller provides the containers deployment configuration. This property affects only the KIE servers running in managed mode. The options are as follows:
-
false
; the connection to the controller is asynchronous. The application starts, connects to the controller and once successful, deploys the containers. The application accepts requests even before the containers are available. true
; the deployment of the KIE server application joins the controller connection thread with the main deployment and awaits its completion.This option can lead to a potential deadlock in case more applications are on the same server instance. It is strongly recommended to use only one application (the KIE server) on one server instance.
Values Default true
orfalse
false
-
- org.kie.server.token
This property allows you to use a token-based authentication between the controller and the KIE server instead of the basic user name/password authentication. The controller sends the token as a parameter in the request header. Note that long-lived access tokens are required as the tokens are not refreshed.
Values Default String
N/A
- org.kie.server.user
The user name used to connect with the KIE server from the controller, required when running in managed mode. This property need to be set in Business Central system properties and is required when using a controller.
Values Default String
kieserver
- org.kie.verification.disable-dtable-realtime-verification
Disables Business Central’s decision table verification and validation feature.
Values Default true
orfalse
false
- org.optaplanner.server.ext.disabled
When set to
true
, disables the BRP support (for example planner support).Values Default true
orfalse
false
- org.uberfire.cluster.autostart
Delays VFS clustering until the application is fully initialized to avoid conflicts when all cluster members create local clones.
Values Default true
orfalse
false
- org.uberfire.cluster.id
The name of the Helix cluster, for example:
kie-cluster
. You must set this property to the same value as defined in the Helix Controller.Values Default String
N/A
- org.uberfire.cluster.local.id
The unique ID of the Helix cluster node. Note that ':' is replaced with '_', for example
node1_12345
.Values Default String
N/A
- org.uberfire.cluster.vfs.lock
The name of the resource defined on the Helix cluster, for example:
kie-vfs
.Values Default String
N/A
- org.uberfire.cluster.zk
The location of the Zookeeper servers.
Values Default String of the form
host1:port1
,host2:port2
,host3:port3
,…N/A
- org.uberfire.domain
The security domain name for Business Central. For more information about security domains, see chapter Use a Security Domain in Your Application of the Red Hat JBoss EAP Security Guide.
Values Default String
ApplicationRealm
- org.uberfire.metadata.index.dir
The location of the
.index
directory, which Apache Lucene uses when indexing and searching.Values Default Path
Current working directory
- org.uberfire.nio.git.daemon.enabled
Enables the Git daemon.
Values Default true
orfalse
true
- org.uberfire.nio.git.daemon.host
If the Git daemon is enabled, it uses this property as the localhost identifier.
Values Default URL
localhost
- org.uberfire.nio.git.daemon.port
If the Git daemon is enabled, it uses this property as the port number.
Values Default Port number
9418
- org.uberfire.nio.git.dir
The location of the directory
.niogit
. Change the value for example for backup purposes.Values Default Path
Current working directory
- org.uberfire.nio.git.hooks
The location where default Git hook files are stored. These files will be copied to newly created Git repositories.
Values Default Path
N/A
- org.uberfire.nio.git.ssh.cert.dir
The location of the directory
.security
. Local certificates are stored here.Values Default Path
Current working directory
- org.uberfire.nio.git.ssh.enabled
Enables the SSH daemon.
Values Default true
orfalse
true
- org.uberfire.nio.git.ssh.host
If the SSH daemon is enabled, it uses this property as the localhost identifier.
Values Default URL
localhost
- org.uberfire.nio.git.ssh.passphrase
The passphrase to access your operating system’s public keystore when cloning Git repositories with scp-style URLs, for example
git@github.com:user/repository.git
.Values Default String
N/A
- org.uberfire.nio.git.ssh.port
If the SSH daemon is enabled, it uses this property as the port number.
Values Default Port number
8001
- org.uberfire.secure.alg
The crypto algorithm used by password encryption.
Values Default String
PBEWithMD5AndDES
- org.uberfire.secure.key
A secret password used by password encryption.
Values Default String
org.uberfire.admin
- org.uberfire.sys.repo.monitor.disabled
Disables the configuration monitor.
WarningDo not use unless you are certain what you are doing.
Values Default true
orfalse
false
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.4.
Red Hat JBoss BRMS Environment Properties
- CALENDARS
- This property is not used.
- DATE_FORMATS
- This property is not used.
- GLOBALS
Values Default 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.
Values Default 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.Values Default 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.Values Default An instance of
UserTransaction
null
- TRANSACTION_MANAGER
Get the
TransactionManager
instance from the environment or context. For example:info = context.get(EnvironmentName.TRANSACTION_MANAGER)
Values Default 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.
Values Default An instance of
TransactionSynchronizationRegistry
Taken from the environment—usually JNDI lookup in JTA environments