1.7. Installing Red Hat JBoss BRMS in the Domain Mode

These are the steps to install Red Hat JBoss BRMS 6 for EAP 6 deployable in the domain mode.
  1. Download and extract the Red Hat JBoss BRMS 6.2.0 Deployable for EAP 6 ZIP file from Red Hat Customer Portal and copy the following directories into the installation of EAP 6.4:
    • bin
    • domain
    Skip the standalone directory.
  2. On the command line, move to the /bin directory and start the domain as follows:
    In a Unix environment, run:
    ./domain.sh
    In a Windows environment, run:
    ./domain.bat
  3. Deploy the archive either via ${jboss-eap-home}/bin/jboss-cli.sh / ${jboss-eap-home}/bin/jboss-cli.bat, or via management web UI (localhost:9990/):

    Note

    The web application business-central.war supplied in the EAP deployable binaries in the /standalone/deployments directory is a directory, but for deployment into the domain, you have to use a WAR archive. To create it, zip the content of the business-central.war directory.
    1. To deploy the archive via ${jboss-eap-home}/bin/jboss-cli.sh or ${jboss-eap-home}/bin/jboss-cli.bat, move into the ${jboss-eap-home}/bin directory and deploy the WAR file:
      In a Unix environment, run:
      ./jboss-cli.sh
      In a Windows environment, run:
      ./jboss-cli.bat
      Then run:
      deploy location_of_business-central.war_file
    2. To deploy the archive via management web UI (localhost:9990/):
      • to create an EAP management account, add a Management User from the /bin directory as follows.
        On a Unix system, run:
        ./add-user.sh
        In a Windows environment, run:
        ./add-user.bat
      • log in using your EAP management account
      • select Domain -> Manage Deployments -> Content Repository -> Add
      • select the web archive from the file system, upload the web archive
      • select the deployment, click the Assign button
      • select the server group

Note

In order to log in to Business Central deployed on Host Controller (HC) machines, the user created on the Domain Controller Machine has to be created on the Host Controller machines as well, by following the steps in the Section 1.9, “Creating users” section.

Installing Multiple JBoss BRMS Server Instances

In many situations, users may want to group together a set of EAP 6 nodes on the same machine and give them a meaningful name for easy maintenance. Unique values need to be incorporated for the system properties for each server instance. Listed below are the common properties that can be specified with a single JBoss BRMS node to change the default configuration; however, they should be specified for multiple nodes running on a single machine so every node can point to a different directory:
  • org.uberfire.nio.git.dir
  • org.uberfire.metadata.index.dir
  • org.uberfire.nio.git.ssh.cert.dir
When multiple JBoss BRMS nodes are used on a single machine, the below properties need to be specified:
  • org.uberfire.nio.git.daemon.host - can be left on default to bind to localhost.
  • org.uberfire.nio.git.daemon.port
  • org.uberfire.nio.git.ssh.host - can be left on default to bind to localhost.
  • org.uberfire.nio.git.ssh.port

Note

Both the org.uberfire.nio.git.daemon.port and the org.uberfire.nio.git.ssh.port require different port values in order to avoid port conflicts.
Incorporate the previous properties in the $EAP_HOME/domain/configuration/host.xml file as illustrated in the two nodes below:
Node A:
<system-properties>
    <property name="org.uberfire.nio.git.dir" value="/valid/path/.." boot-time="false"/>
    <property name="org.uberfire.metadata.index.dir" value="/valid/path/.." boot-time="false"/>
    <property name="org.uberfire.nio.git.ssh.cert.dir" value="/valid/path/.." boot-time="false"/>

    <property name="org.uberfire.nio.git.daemon.host" value="10.10.10.10" boot-time="false"/>
    <property name="org.uberfire.nio.git.daemon.port" value="9417" boot-time="false"/>
    <property name="org.uberfire.nio.git.ssh.host" value="10.10.10.10" boot-time="false"/>
    <property name="org.uberfire.nio.git.ssh.port" value="8002" boot-time="false"/>
</system-properties>
Node B:
<system-properties>
    <property name="org.uberfire.nio.git.dir" value="/valid/path/.." boot-time="false"/>
    <property name="org.uberfire.metadata.index.dir" value="/valid/path/.." boot-time="false"/>
    <property name="org.uberfire.nio.git.ssh.cert.dir" value="/valid/path/.." boot-time="false"/>

    <property name="org.uberfire.nio.git.daemon.host" value="10.10.10.10" boot-time="false"/>
    <property name="org.uberfire.nio.git.daemon.port" value="9418" boot-time="false"/>
    <property name="org.uberfire.nio.git.ssh.host" value="10.10.10.10" boot-time="false"/>
    <property name="org.uberfire.nio.git.ssh.port" value="8003" boot-time="false"/>
</system-properties>
The system properties depicted above should indicate the host, port, or location of the .index or .niogit files. These files, which should be used by a respective node, would then be grouped in a particular domain.