Red Hat Training

A Red Hat training course is available for Red Hat Decision Manager

Chapter 7. Deploying Decision Server

The Decision Server is distributed as a web application archive (WAR) file kie-server.war. When you install Red Hat Decision Manager, deploy the kie-server.war file for full functionality. For information about how to deploy the Decision Server, see Installing Red Hat Decision Manager on premise.

Prerequisite

The Red Hat Decision Manager has been downloaded and deployed with the kie-server.war file.

Procedure

  1. Create a user with the role kie-server in the web container.
  2. Verify that you can access the decision engine.

    1. In a web browser, open http://SERVER:PORT/kie-server/services/rest/server/
    2. Enter the user name and the password specified in the previous step.
  3. Once authenticated, an XML response in the form of engine status opens:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <response type="SUCCESS" msg="Kie Server info">
      <kie-server-info>
          <capabilities>KieServer</capabilities>
          <capabilities>BRM</capabilities>
          <capabilities>BPM</capabilities>
          <location>http://localhost:8230/kie-server/services/rest/server</location>
          <name>first-kie-server</name>
          <id>first-kie-server</id>
          <version>7.5.1.Final-redhat-1</version>
      </kie-server-info>
    </response>

7.1. Bootstrap Switches

The Decision Server accepts a number of bootstrap switches (system properties) to configure the behavior of the server.

Table 7.1. Bootstrap Switches for Disabling Decision Server Extensions

PropertyValuesDefaultDescription

org.drools.server.ext.disabled

true, false

false

If set to true, disables the Decision Manager support (for example rules support).

org.jbpm.server.ext.disabled

true, false

false

If set to true, disables the Business Automation support (for example processes support).

org.optaplanner.server.ext.disabled

true, false

false

If set to true, disables the Business Optimizer support.

org.jbpm.ui.server.ext.disabled

true, false

false

If set to true, disables the Decision Server UI extension.

org.kie.executor.disabled

true, false

false

Disables the Red Hat Decision Manager executor.

Note

Some controller properties listed below are marked as required. Set these properties when you handle Decision Server container creation and removal in Decision Central. If you use the Decision Server separately without any interaction with Decision Central, the properties do not have to be set.

Table 7.2. Bootstrap Switches Required for Using a Controller

PropertyValuesDefaultDescription

org.kie.server.id

String

N/A

An arbitrary ID to be assigned to the 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.

org.kie.server.user

String

kieserver

The user name used to connect with the Decision Server from the controller, required when running in managed mode. Set this property in Decision Central system properties. Set this property when using a controller.

org.kie.server.pwd

String

kieserver1!

The password used to connect with the Decision Server from the controller, required when running in managed mode. Set this property in Decision Central system properties. Set this property when using a controller.

org.kie.server.token

String

N/A

A property that enables you to use token-based authentication between the controller and the Decision Server instead of the basic user name/password authentication. The controller sends the token as a parameter in the request header. The server requires long-lived access tokens as the tokens are not refreshed.

org.kie.server.location

URL

N/A

The URL of the Decision Server instance used by the controller to call back on this server, for example: http://localhost:8230/kie-server/services/rest/server. Setting this property is required when using a controller.

org.kie.server.controller

Comma-separated list

N/A

A comma-separated list of URLs to the controller REST endpoints, for example http://localhost:8080/decision-central/rest/controller. Setting this property is required when using a controller.

org.kie.server.controller.user

String

kieserver

The user name to connect to the controller REST API. Setting this property is required when using a controller.

org.kie.server.controller.pwd

String

kieserver1!

The password to connect to the controller REST API. Setting this property is required when using a controller.

org.kie.server.controller.token

String

N/A

A property that enables you to use token-based authentication between the Decision Server and the controller instead of the basic user name/password authentication. The 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.

org.kie.server.controller.connect

Long

10000

The waiting time in milliseconds between repeated attempts to connect the Decision Server to the controller when the server starts.

Table 7.3. Bootstrap Switches for Executor Properties

PropertyValuesDefaultDescription

org.kie.executor.interval

Integer

3

The time between the moment the Red Hat Decision Manager executor finishes a job and the moment it starts a new one, in a time unit specified in the org.kie.executor.timeunit property.

org.kie.executor.timeunit

java.util.concurrent.TimeUnit constant

SECONDS

The time unit in which the org.kie.executor.interval property is specified.

org.kie.executor.pool.size

Integer

1

The number of threads used by the Red Hat Decision Manager executor.

org.kie.executor.retry.count

Integer

3

The number of retries the Red Hat Decision Manager executor attempts on a failed job.

Table 7.4. Other Bootstrap Switches

PropertyValuesDefaultDescription

kie.maven.settings.custom

Path

N/A

The location of a custom settings.xml file for Maven configuration.

kie.server.jms.queues.response

String

queue/KIE.SERVER.RESPONSE

The response queue JNDI name for JMS.

org.drools.server.filter.classes

true, false

false

When set to true, the Drools Decision Server extension accepts custom classes annotated by the XmlRootElement or Remotable annotations only.

org.kie.server.domain

String

N/A

The JAAS LoginContext domain used to authenticate users when using JMS.

org.kie.server.repo

Path

.

The location where Decision Server state files will be stored.

org.kie.server.sync.deploy

true, false

false

A property that instructs the Decision Server to hold the deployment until the controller provides the containers deployment configuration. This property only affects 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 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 recommended that you use only one application (the server) on one server instance.