Chapter 7. Installing and running the headless Decision Manager controller
You can configure Decision Server to run in managed or unmanaged mode. If Decision Server is unmanaged, you must manually create and maintain KIE containers (deployment units). If Decision Server is managed, the Decision Manager controller manages the Decision Server configuration and you interact with the Decision Manager controller to create and maintain KIE containers.
Decision Central has an embedded Decision Manager controller. If you install Decision Central, use the Execution Server page to create and maintain KIE containers. If you want to automate Decision Server management without Decision Central, you can use the headless Decision Manager controller.
7.1. Using the installer to configure Decision Server with the Decision Manager controller
Decision Server can be managed by the Decision Manager controller or it can be unmanaged. If Decision Server is unmanaged, you must manually create and maintain KIE containers (deployment units). If Decision Server is managed, the Decision Manager controller manages the Decision Server configuration and you interact with the Decision Manager controller to create and maintain KIE containers.
The Decision Manager controller is integrated with Decision Central. If you install Decision Central, you can use the Execution Server page in Decision Central to interact with the Decision Manager controller.
You can use the installer in interactive or CLI mode to install Decision Central and Decision Server, and then configure Decision Server with the Decision Manager controller.
If you do not install Decision Central, see Chapter 7, Installing and running the headless Decision Manager controller for information about using the headless Decision Manager controller.
Prerequisites
- Two computers with backed-up Red Hat JBoss EAP 7.1 or higher server installations are available.
- Sufficient user permissions to complete the installation are granted.
Procedure
- On the first computer, run the installer in interactive mode or CLI mode. See Installing and configuring Red Hat Decision Manager on Red Hat JBoss EAP 7.1 for more information.
- On the Component Selection page, clear the Decision Server box.
- Complete the Decision Central installation.
- On the second computer, run the installer in interactive mode or CLI mode.
- On the Component Selection page, clear the Decision Central box.
- On the Configure Runtime Environment page, select Perform Advanced Configuration.
- Select Customize Decision Server properties and click Next.
- On the Process Server Properties Configuration page, click New Server Configuration to add a Decision Server and specify a unique name for that Decision Server. This name will appear in Decision Central and enable you to distinguish between different Decision Servers.
7.2. Installing the headless Decision Manager controller
You can install the headless Decision Manager controller and use the REST API or the Decision Server Java Client API to interact with it.
Prerequisites
-
A backed-up Red Hat JBoss EAP installation version 7.1 or higher is available. The base directory of the Red Hat JBoss EAP installation is referred to as
EAP_HOME. - Sufficient user permissions to complete the installation are granted.
Procedure
Navigate to the Software Downloads page in the Red Hat Customer Portal (login required), and select the product and version from the drop-down options:
- Product: Decision Manager
- Version: 7.1
-
Download Red Hat Decision Manager 7.1.0 Add Ons (the
rhdm-7.1.0-add-ons.zipfile). -
Unzip the
rhdm-7.1.0-add-ons.zipfile. Therhdm-7.1-controller-ee7.zipfile is in the unzipped directory. -
Extract the
rhdm-7.1-controller-ee7archive to a temporary directory. In the following examples this directory is calledTEMP_DIR. Copy the
TEMP_DIR/rhdm-7.1-controller-ee7/controller.wardirectory toEAP_HOME/standalone/deployments/.WarningEnsure that the names of the headless Decision Manager controller deployments you are copying do not conflict with your existing deployments in the Red Hat JBoss EAP instance.
-
Copy the contents of the
TEMP_DIR/rhdm-7.1-controller-ee7/SecurityPolicy/directory toEAP_HOME/bin. When asked to overwrite files, select Yes. -
In the
EAP_HOME/standalone/deployments/directory, create an empty file namedcontroller.war.dodeploy. This file ensures that the headless Decision Manager controller is automatically deployed when the server starts.
7.2.1. Creating a headless Decision Manager controller user
Before you can use the headless Decision Manager controller, you must create a user that has the kie-server role.
Prerequisite
The headless Decision Manager controller is installed in the base directory of the Red Hat JBoss EAP installation (EAP_HOME).
Procedure
-
In a terminal application, navigate to the
EAP_HOME/bindirectory. Enter the following command and replace
<USER_NAME>and<PASSWORD>with the user name and password of your choice.$ ./add-user.sh -a --user <username> --password <password> --role kie-server
NoteMake sure that the specified user name is not the same as an existing user, role, or group. For example, do not create a user with the user name
admin.The password must have at least eight characters and must contain at least one number and one non-alphanumeric character, but not & (ampersand).
- Make a note of your user name and password.
7.2.2. Configuring Decision Server and the headless Decision Manager controller
If Decision Server will be managed by the headless Decision Manager controller, you must edit the standalone-full.xml file in both the Decision Server and headless Decision Manager controller installations, as described in this section.
Prerequisites
-
Decision Server is installed in the base directory of the Red Hat JBoss EAP installation (
EAP_HOME). The headless Decision Manager controller is installed in an
EAP_HOME.NoteYou should install Decision Server and the headless Decision Manager controller on different servers in production environments. However, if you install Decision Server and the headless Decision Manager controller on the same server, for example in a development environment, make these changes in the shared
standalone-full.xmlfile.-
On Decision Server nodes, a user with the
kie-serverrole exists. On the server nodes, a user with the
kie-serverrole exists.Procedure
In the
EAP_HOME/standalone/configuration/standalone-full.xmlfile, add the following properties to the<system-properties>section and replace<USERNAME>and<USER_PWD>with the credentials of a user with thekie-serverrole:<property name="org.kie.server.user" value="<USERNAME>"/> <property name="org.kie.server.pwd" value="<USER_PWD>"/>
In the Decision Server
EAP_HOME/standalone/configuration/standalone-full.xmlfile, add the following properties to the<system-properties>section:<property name="org.kie.server.controller.user" value="<CONTROLLER_USER>"/> <property name="org.kie.server.controller.pwd" value="<CONTROLLER_PWD>"/> <property name="org.kie.server.id" value="<KIE_SERVER_ID>"/> <property name="org.kie.server.location" value="http://<HOST>:<PORT>/kie-server/services/rest/server"/> <property name="org.kie.server.controller" value="<CONTROLLER_URL>"/>
- In this file, replace the following values:
-
Replace
<CONTROLLER_USER>and<CONTROLLER_PWD>with the credentials of a user with thekie-serverrole. -
Replace
<KIE_SERVER_ID>with the ID or name of the Decision Server installation, for example,rhdm-7.1.0-decision_server-1. -
Replace
<HOST>with the ID or name of the Decision Server host, for example,localhostor192.7.8.9. Replace
<PORT>with the port of the Decision Server host, for example,8080.NoteThe
org.kie.server.locationproperty specifies the location of Decision Server.Replace
<CONTROLLER_URL>with the URL of the headless Decision Manager controller.- Decision Server connects to this URL during startup.
7.3. Running the headless Decision Manager controller
After you have installed the headless Decision Manager controller on Red Hat JBoss EAP, use this procedure to run the headless Decision Manager controller.
Prerequisite
The headless Decision Manager controller is installed and configured in the base directory of the Red Hat JBoss EAP installation (EAP_HOME).
Procedure
-
In a terminal application, navigate to
EAP_HOME/bin. Enter the following command:
On Linux or UNIX-based systems:
$ ./standalone.sh
On Windows:
standalone.bat
To verify that the headless Decision Manager controller is working on Red Hat JBoss EAP, enter the following command where
<CONTROLLER>and<CONTROLLER_PWD>is the user name and password. The output of this command provides information about the Decision Server instance.curl -X GET "http://<HOST>:<PORT>/controller/rest/controller/management/servers" -H "accept: application/xml" -u '<CONTROLLER>:<CONTROLLER_PWD>'
Alternatively, you can use the Decision Server Java API Client to access the headless Decision Manager controller.
7.4. Clustering with the headless Decision Manager controller
The Decision Manager controller is integrated with Decision Central. However, if you do not install Decision Central, you can install the headless Decision Manager controller and use the REST API or the Decision Server Java Client API to interact with it.
Prerequisites
-
A backed-up Red Hat JBoss EAP installation version 7.1 or later is available. The base directory of the Red Hat JBoss EAP installation is referred to as
EAP_HOME. - Sufficient user permissions to complete the installation are granted.
- An NFS server with a mounted partition is available.
Procedure
Navigate to the Software Downloads page in the Red Hat Customer Portal (login required), and select the product and version from the drop-down options:
- Product: Decision Manager
- Version: 7.1
-
Download Red Hat Decision Manager 7.1.0 Add Ons (the
rhdm-7.1.0-add-ons.zipfile). -
Unzip the
rhdm-7.1.0-add-ons.zipfile. Therhdm-7.1-controller-ee7.zipfile is in the unzipped directory. -
Extract the
rhdm-7.1-controller-ee7.zipfile to a temporary directory. In the following examples this directory is calledTEMP_DIR. Repackage the
controller.wardirectory:-
Navigate to the
TEMP_DIR/rhdm-7.1.0-add-ons/rhdm-7.1-controller-ee7/controller.wardirectory. -
Select the contents of the
TEMP_DIR/rhdm-7.1.0-add-ons/rhdm-7.1-controller-ee7/controller.wardirectory and create thecontroller.zipfile. -
Rename
controller.ziptocontroller.war. This is the file that you will use to deploy the headless Decision Manager controller on the cluster nodes. -
If desired, copy the new
controller.warfile to a location that is more convenient to deploy from.
-
Navigate to the
-
If you want to use a security manager with the headless Decision Manager controller, copy the contents of the
TEMP_DIR/rhdm-7.1.0-add-ons/rhdm-7.1-controller-ee7/SecurityPolicydirectory to theEAP_HOME/bindirectory on each node of the cluster. -
Add Red Hat JBoss EAP management users to the master node (where you configured the
domain.xmlfile) as described in the Red Hat JBoss EAP 7.1 Configuration Guide. - On each node of the cluster, add users for the headless Decision Manager controller as described in the "Installing the headless Decision Manager controller" section of the Installing and configuring Red Hat Decision Manager on Red Hat JBoss EAP 7.1.
Complete the following steps in the
host.xmlfile on the master node and in thehost-slave.xmlfile on each slave node:-
Open the
EAP_HOME/domain/configuration/host.xmlorEAP_HOME/domain/configuration/host-slave.xmlfile in a text editor. -
In the
main-server-group<servers>element, add the servers that will be part of the cluster. Add the following properties to the
<system-properties>element and replace<NFS_STORAGE>with the absolute path to the NFS storage where the template configuration is stored.<system-properties> <property name="org.kie.server.controller.templatefile.watcher.enabled" value="true"/> <property name="org.kie.server.controller.templatefile" value="<NFS_STORAGE>"/> </system-properties>
If the value of the
org.kie.server.controller.templatefile.watcher.enabledproperty is set totrue, a separate thread is started to watch for modifications of the template file. The default interval for these checks is 30000 milliseconds and can be further controlled by theorg.kie.server.controller.templatefile.watcher.intervalsystem property. If the value of this property is set tofalse, changes to the template file are detected only when the server restarts.
-
Open the
To deploy the
controller.warfile that you created previously into the server group, complete the following steps on the master node:-
Log in to the Red Hat JBoss EAP
Administrationconsole of your domain as amanagementuser. - Click Deployments → Server Groups→ main-server-group and click Add.
- In the dialog box, click Upload a new deployment and click Next.
-
In the Upload Deployments dialog box, click Browse, select the
controller.warfile, and click Next. Click Enable and click Next.
NoteMake sure to check deployment unit readiness with every cluster member.
When a deployment unit is created on a cluster node, it takes some time before it is distributed among all cluster members. You can check the deployment status using the server Administration console or REST API. However, if the query is sent to the node where the deployment was originally issued, the query will return a value of
deployed. If the query is sent to a node where the deployment has not yet been distributed, the query returnsDeploymentNotFoundException.
-
Log in to the Red Hat JBoss EAP
For more information about installing Decision Central, see Installing and configuring Red Hat Decision Manager on Red Hat JBoss EAP 7.1.
7.5. Configuring the headless Decision Manager controller
Prerequisites
- Decision Server is installed on each node of a Red Hat JBoss EAP 7.1 cluster.
- An NFS server with a mounted partition accessible to a Red Hat JBoss EAP user is available.
Procedure
On the java process running Smart Router, do the following:
Enable the Decision Server watcher service system property:
org.kie.server.controller.templatefile.watcher.enabled=true
In the
org.kie.server.controller.templatefileproperty, specify the absolute path to the NFS storage where the memory configuration is stored:org.kie.server.controller.templatefile=<absolute_path_to_NFS_storage>
For more information about running Red Hat Decision Manager in a Red Hat JBoss Enterprise Application Platform clustered environment, see Installing and configuring Red Hat Decision Manager in a Red Hat JBoss EAP 7.1 clustered environment.

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.