9.3. Intelligent Process Server Setup
9.3.1. Bootstrap Switches
The Intelligent Process Server accepts a number of bootstrap switches (system properties) to configure the behavior of the server. The following is a table of all the supported switches:
Some properties are marked as required when using a controller, so you need to set these properties when you handle Intelligent Process Server container creation and removal in Business Central. If you use the Intelligent Process Server separately—without any interaction with Business Central—you do not have to set these properties.
Intelligent Process Server Bootstrap Switches
- kie.maven.settings.custom
The location of a custom
settings.xmlfile 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 trueorfalsefalse- org.drools.server.filter.classes
When set to
true, the Drools Intelligent Process Server extension accepts custom classes annotated byXmlRootElementorRemotableannotations only.Values Default trueorfalsefalse
- org.jbpm.ht.callback
Specifies the implementation of user group callback to be used:
-
mvel: Default; mostly used for testing. -
ldap: LDAP; requires additional configuration in thejbpm.usergroup.callback.propertiesfile. -
db: Database; requires additional configuration in thejbpm.usergroup.callback.propertiesfile. -
jaas: JAAS; delegates to the container to fetch information about user data. -
props: A simple property file; requires additional file that will keep all information (users and groups). -
custom: A custom implementation; you must specify the fully qualified name of the class in theorg.jbpm.ht.custom.callback.
Values Default mvel,ldap,db,jaas,props, orcustommvel-
- org.jbpm.ht.custom.callback
A custom implementation of the
UserGroupCallbackinterface in case theorg.jbpm.ht.callbackproperty is set tocustom.Values Default Fully qualified name
N/A
- org.jbpm.server.ext.disabled
When set to
true, disables the BPM support (for example, processes support).Values Default trueorfalsefalse- org.jbpm.ui.server.ext.disabled
When set to
true, disables the Intelligent Process Server UI extension.Values Default trueorfalsefalse- org.kie.executor.disabled
Disables the Red Hat JBoss BPM Suite executor.
Values Default trueorfalsefalse
- org.kie.executor.interval
The time between the moment the Red Hat JBoss BPM Suite 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 BPM Suite executor.
Values Default Number (
Integer)1
- org.kie.executor.retry.count
The number of retries the Red Hat JBoss BPM Suite executor attempts on a failed job.
Values Default Number (
Integer)3
- org.kie.executor.timeunit
The time unit in which the
org.kie.executor.intervalis specified.Values Default A
java.util.concurrent.TimeUnitconstantSECONDS- org.kie.server.bypass.auth.user
Allows to bypass the authenticated user for task-related operations, for example queries.
Values Default trueorfalsefalse- 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 Intelligent Process Server to the controller when Intelligent Process 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
LoginContextdomain 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 Intelligent Process 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.persistence.dialect
The Hibernate dialect to be used. You must set this property when enabling BPM support.
Values Default String
N/A
- org.kie.server.persistence.ds
A data source JNDI name. You must set this property when enabling BPM support.
Values Default String
N/A
- org.kie.server.persistence.schema
The database schema to be used.
Values Default String
N/A
- org.kie.server.persistence.tm
A transaction manager platform for Hibernate properties set. You must set this property when enabling BPM support.
Values Default String
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 Intelligent Process 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 trueorfalsefalse-
- 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.optaplanner.server.ext.disabled
When set to
true, disables the BRP support (for example planner support).Values Default trueorfalsefalse
A new DataSource for the Intelligent Process Server must point to a different database schema than the DataSource used by Business Central.
If you are running both the Intelligent Process Server and the Business Central, make sure that each uses a different DataSource (by modifying the org.kie.server.persistence.ds property), in order to avoid conflicts.
9.3.2. Managed Intelligent Process Server
A managed instance requires an available controller to start up the Intelligent Process Server.
A Controller is a component that keeps and manages a Intelligent Process Server configuration in a centralized way. Each controller can manage multiple configurations at once, and there can be multiple controllers in the environment. Managed Intelligent Process Server can be configured with a list of controllers, but will only connect to one at a time.
Controllers should be kept in sync to ensure that the same set of configuration is provided to the server, regardless of which controller it connects to.
When the Intelligent Process Server is configured with a list of controllers, it will attempt to connect to each of them at startup until a connection is successfully established with one of them. If for some reason a connection cannot be established, the server will not start, even if there is a local storage available with configuration. This ensures consistence, and prevents the server from running with redundant configuration.
To run the Intelligent Process Server in standalone mode without connecting to controllers, see Section 9.3.4, “Unmanaged Intelligent Process Server”.
9.3.3. Registering Intelligent Process Server
To register a new managed Intelligent Process Server instance, set the following properties in standalone.xml:
<property name="org.kie.server.user" value="anton"></property> <property name="org.kie.server.pwd" value="password1!"></property> <property name="org.kie.server.location" value="http://localhost:8080/kie-server/services/rest/server"></property> <property name="org.kie.server.controller" value="http://localhost:8080/business-central/rest/controller"></property> <property name="org.kie.server.controller.user" value="kieserver"></property> <property name="org.kie.server.controller.pwd" value="kieserver1!"></property> <property name="org.kie.server.id" value="local-server-123"></property>
The standalone.xml file is located in the $SERVER_HOME/standalone/configuration/ directory.
org.kie.server.user must have the kie-server role assigned.
org.kie.server.location points to the same host as org.kie.server.controller. This is not suitable for production.
To create the kieserver user:
-
Change into
$SERVER_HOME/bin/. Execute the following command:
$ ./add-user.sh -a --user kieserver --password kieserver1! --role kie-server
To verify successful start of the Intelligent Process Server, send a GET request to http://SERVER:PORT/kie-server/services/rest/server/. Once authenticated, you will see an XML response:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response type="SUCCESS" msg="Kie Server info">
<kie-server-info>
<capabilities>BRM</capabilities>
<capabilities>BPM-UI</capabilities>
<capabilities>BPM</capabilities>
<capabilities>BRP</capabilities>
<capabilities>KieServer</capabilities>
<location>http://localhost:8080/kie-server/services/rest/server</location>
<messages>
<content>Server KieServerInfo{serverId='local-server-123', version='6.4.0.Final-redhat-3', location='http://localhost:8080/kie-server/services/rest/server'}started successfully at Fri Jun 03 13:48:44 CEST 2016</content>
<severity>INFO</severity>
<timestamp>2016-06-03T13:48:44.606+02:00</timestamp>
</messages>
<name>local-server-123</name>
<id>local-server-123</id>
<version>6.4.0.Final-redhat-3</version>
</kie-server-info>
</response>To verify successful registration, log into the Business Central and select Deploy → Rule Deployments. If successful, you will see the registered server ID.
9.3.4. Unmanaged Intelligent Process Server
An unmanaged Intelligent Process Server is a standalone instance, and therefore must be configured individually using REST/JMS API from the Intelligent Process Server itself. There is no controller involved. The configuration is automatically persisted by the server into a file and that is used as the internal server state, in case of restarts.
The configuration is updated during the following operations:
- Deploy KIE Container
- Undeploy KIE Container
- Start KIE Container
- Stop KIE Container
If the Intelligent Process Server is restarted, it will attempt to re-establish the same state that was persisted before shutdown. Therefore, KIE Containers that were running will be started, but the ones that were stopped will not.

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.