JBoss.orgCommunity Documentation

Chapter 2. Installation

2.1. JBoss Application Server (or JBoss EAP)
2.1.1. Install
2.1.2. Configuration
2.1.3. Uninstall

This section will describe how to install Overlord Runtime Governance in different environments.

This section describes how to install Overlord Runtime Governance into the JBoss Application Server.

  1. Download the JBoss EAP distribution (version 6.1.0.Final or higher), and unpack it in a suitable location.
  2. The next step is to download SwitchYard (version 1.0.0.Final or higher) and install it into the JBoss AS/EAP environment. We recommend using the switchyard installer, which can be unpacked in a temporary location, and run ant in the root folder to be prompted for the location of the JBoss AS/EAP environment.
  3. Download the latest release from the Overlord Runtime Governance website, selecting the distribution specific to JBoss AS/EAP. Then unpack the distribution into a suitable location.
  4. Make sure that the JBOSS_HOME environment variable is set to the root folder of the JBoss AS/EAP environment.
  5. The final step is to perform the installation of Overlord Runtime Governance using maven. (You will need maven 3.0.4 or higher, and can be downloaded from here: http://maven.apache.org/download.html). To do the installation, use the following command from the root folder of the installation:
mvn install [ -Dtype=<installation-type> ]

The installation-type value can be:

Value Description

server

This will result in the full server configuration being installed into the server, including activity collector (for obtaining activities generated within that server), activity server (for receiving activity information whether from a remote client or internal activity collector), event processor network (to analyse the events), active collections (to maintain result information) and a collection of REST services to support remote access to the information. This is the default value.

client

This will result in only the activity collector functionality being installed, using a RESTful client to communicate with a remote Runtime Governance server.

The configuration properties for the Runtime Governance capability within a JBoss AS/EAP environment can be found in the file $JBOSS_HOME/standalone/configuration/overlord-rtgov.properties. Although there will be some properties that are independent of the installation type, some will be specific and therefore are listed in separate sections below.

Common

The common properties available across all installation types are:

Property Description

collectionEnabled

This property will determine whether activity information is collected when the server is initially started. This value can be changed at runtime using the ActivityCollector MBean (see the chapter on Managing the Infrastructure).

ActivityServerLogger.maxThreads

This property is an integer that represents the maximum number of threads that should be used to report activity events to the server (whether remote or embedded).

Server

Property Description

MVELSeverityAnalyzer.scriptLocation

Optional location of a MVEL script used to determine severity levels for nodes and links within the service overview diagram.

When installing the full Runtime Governance server, modification to the configuration will generally only be necessary if running in a clustered environment and/or wishing to use a particular database (described below).

However, specific technologies used in the Activity Server, Event Processor Network or Active Collection modules may need to use different configuration properties to work correctly within a clustered environment. More details will be provided in sections discussing those technologies, however here we will present the common changes that may be required.

Client

This installation type is used to configure an execution environment that will be sending its activity information to a remote Runtime Governance server using REST. The relevant properties are:

Property Description

RESTActivityServer.serverURL

This is the URL of the activity server collecting the activity events.

RESTActivityServer.serverUsername

The username used to access the REST service.

RESTActivityServer.serverPassword

The password used to access the REST service.

The database is defined by the datasource configuration located here: $JBOSS_HOME/standalone/deployment/overlord-rtgov/rtgov-ds.xml as part of the server installation type.

The default "out of the box" H2 file based database is created during the installation of the server type.

Note

The following sections discuss changes to the standalone-full.xml configuration file. If using a clustered environment, then these changes should be applied to the standalone-full-ha.xml instead.

MySQL

  • Create the folder $JBossAS/modules/mysql/main.
  • Put the MySQL driver jar in the $JBossAS/modules/mysql/main folder, e.g. mysql-connector-java-5.1.12.jar.
  • Create a module.xml file, within the $JBossAS/modules/mysql/main folder, with the contents:

<module xmlns="urn:jboss:module:1.1" name="mysql">
   <resources>
     <resource-root path="mysql-connector-java-5.1.12.jar"/>
   </resources>
   <dependencies>
     <module name="javax.api"/>
     <module name="javax.transaction.api"/>
   </dependencies>
</module>
  • Edit the $JBossAS/standalone/configuration/standalone-full.xml file to include the MySQL driver:

<subsystem xmlns="urn:jboss:domain:datasources:1.0">
        <datasources>
            .....
            <drivers>
                ...
                <driver name="mysql" module="mysql">
                    <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
                </driver>
            </drivers>
        </datasources>
    </subsystem>
  • Update the rtgov datasource file, $JBossAS/standalone/deployments/overlord-rtgov/rtgov-ds.xml, the contents should be:

<?xml version="1.0" encoding="UTF-8"?>
<datasources>
        <datasource jndi-name="java:jboss/datasource/OverlordRTGov" pool-name="OverlordRTGov" enabled="true" use-java-context="true">
                <connection-url>jdbc:mysql://localhost:3306/rtgov</connection-url>
                <driver>mysql</driver>
                <security>
                        <user-name>root</user-name>
                        <password></password>
                </security>
        </datasource>
</datasources>

Postgres

  • Create the $JBossAS/modules/org/postgresql/main folder.
  • Put the postgresql driver jar in the $JBossAS/modules/org/postgresql/main folder, e.g. postgresql-9.1-902.jdbc4.jar.
  • Create a module.xml file, within the $JBossAS/modules/org/postgresql/main folder, with the contents:

<module xmlns="urn:jboss:module:1.1" name="org.postgresql">
   <resources>
     <resource-root path="postgresql-9.1-902.jdbc4.jar"/>
   </resources>
   <dependencies>
     <module name="javax.api"/>
     <module name="javax.transaction.api"/>
   </dependencies>
</module>
  • Edit the $JBossAS/standalone/configuration/standalone-full.xml file to include the PostgresSQL driver:

<subsystem xmlns="urn:jboss:domain:datasources:1.0">
        <datasources>
            .....
            <drivers>
                ...
                <driver name="postgresql" module="org.postgresql">
                    <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
                </driver>
            </drivers>
        </datasources>
    </subsystem>
  • Update the rtgov datasource file, $JBossAS/standalone/deployments/overlord-rtgov/rtgov-ds.xml, the contents should be:

<?xml version="1.0" encoding="UTF-8"?>
<datasources>
        <datasource jndi-name="java:jboss/datasource/OverlordRTGov" pool-name="OverlordRTGov" enabled="true" use-java-context="true">
                <connection-url>jdbc:postgresql://localhost:5432/rtgov</connection-url>
                <driver>postgresql</driver>
                <security>
                        <user-name>....</user-name>
                        <password>....</password>
                </security>
        </datasource>
</datasources>