TIBCO EBX®
Documentation > Administration Guide > Installation & configuration > Installation notes
Navigation modeDocumentation > Administration Guide > Installation & configuration > Installation notes

Installation note for JBoss EAP 7.1.x

Overview

Attention

  • This chapter describes a quick installation example of TIBCO EBX® on JBoss Application Server.

  • It does not replace the documentation of this application server.

  • They are not general installation recommendations, as the installation process is determined by architectural decisions, such as the technical environment, application mutualization, delivery process, and organizational decisions.

  • The complete description of the components needed by EBX® is given in chapter Java EE deployment.

  • To avoid unpredictable behavior, the guideline to follow is to avoid any duplicates of ebx.jar, ebx-lz4.jar or other libraries in the class-loading system.

Requirements

JBoss Application Server installation

This quick installation example is performed for a Linux operating system.

  1. Download JBoss EAP 7.1 Installer jar version 7.1.x from:

    https://developers.redhat.com/products/eap/download/

  2. Run the Installer using java -jar command line.

    For further installation details, refer to the documentation .

  3. Perform a standard installation:

    1. Select the language and click 'OK',

    2. Accept the License and click 'Next',

    3. Choose the installation path and click 'Next',

    4. Keep the 'Component Selection' as it is and click 'Next',

    5. Enter 'Admin username', 'Admin password' and click 'Next',

    6. On 'Installation Overview' click 'Next',

    7. On 'Component Installation' click 'Next',

    8. On 'Configure Runtime Environment' leave the selection as it is and click 'Next',

    9. When 'Processing finished' appear, click 'Next',

    10. Uncheck 'Create shortcuts in the start menu' and click 'Next',

    11. Generate 'installation script and properties file' in the JBoss EAP 7.1 installation root directory,

    12. Click 'done'.

EBX® home directory configuration

  1. Create the EBX_HOME directory, for example /opt/ebx/home.

  2. Copy from the EBX® CD, the ebx.software/files/ebx.properties file to EBX_HOME. In our example, we will have the following file:

    /opt/ebx/home/ebx.properties.

  3. If needed, edit the ebx.properties file to override the default database. By default the standalone H2 database is defined. The property key ebx.persistence.factory must be uncommented for other supported databases and the h2.standalone one must be commented.

JBoss Application Server and Java Virtual Machine configuration

  1. Open the standalone.conf configuration file, placed in <JBOSS_HOME>/bin (or jboss-eap.conf file placed in <JBOSS_HOME>/bin/init.d for running the server as a service).

  2. Add 'ebx.properties' and 'ebx.home' properties to the 'JAVA_OPTS' environment variable respectively set with ebx.properties file's path and EBX_HOME directory's path.

  3. Set the 'JBOSS_MODULES_SYSTEM_PKGS' environment variable like the following:

    JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman,net.jpountz"
  4. Copy from the EBX® CD, the ebx.software/lib/ebx-lz4.jar Data compression library to a dedicated directory (for example <JBOSS_HOME>/compress).

  5. Open the standalone.sh script file, placed in <JBOSS_HOME>/bin.

  6. Create a 'CLASSPATH' environment variable like the following:

    CLASSPATH="<path_to_the_data_compression_library>:${JBOSS_HOME}/jboss-modules.jar:${CLASSPATH}"
    
    # For our example
    # CLASSPATH="${JBOSS_HOME}/compress/ebx-lz4.jar:${JBOSS_HOME}/jboss-modules.jar:${CLASSPATH}"
  7. Replace the launch command options for foreground and background executions like the following:

    if [ "x$LAUNCH_JBOSS_IN_BACKGROUND" = "x" ]; then
       # Execute the JVM in the foreground
       eval \"$JAVA\" -D\"[Standalone]\" $JAVA_OPTS \
          -cp "$CLASSPATH" \
          \"-Dorg.jboss.boot.log.file="$JBOSS_LOG_DIR"/server.log\" \
          \"-Dlogging.configuration=file:"$JBOSS_CONFIG_DIR"/logging.properties\" \
          org.jboss.modules.Main \
          $MODULE_OPTS \
          -mp \""${JBOSS_MODULEPATH}"\" \
          org.jboss.as.standalone \
          -Djboss.home.dir=\""$JBOSS_HOME"\" \
          -Djboss.server.base.dir=\""$JBOSS_BASE_DIR"\" \
          "$SERVER_OPTS"
          JBOSS_STATUS=$?
    
    else
       # Execute the JVM in the background
       eval \"$JAVA\" -D\"[Standalone]\" $JAVA_OPTS \
          -cp "$CLASSPATH" \
          \"-Dorg.jboss.boot.log.file="$JBOSS_LOG_DIR"/server.log\" \
          \"-Dlogging.configuration=file:"$JBOSS_CONFIG_DIR"/logging.properties\" \
          org.jboss.modules.Main \
          $MODULE_OPTS \
          -mp \""${JBOSS_MODULEPATH}"\" \
          org.jboss.as.standalone \
          -Djboss.home.dir=\""$JBOSS_HOME"\" \
          -Djboss.server.base.dir=\""$JBOSS_BASE_DIR"\" \
          "$SERVER_OPTS" "&"
    ...
    fi

JNDI entries configuration

  1. Open the standalone-full.xml file placed in <JBOSS_HOME>/standalone/configuration.

  2. Add, at least, the following lines to the server tag in messaging-activemq subsystem:

    <connection-factory
        name="jms/EBX_JMSConnectionFactory"
        entries="java:/EBX_JMSConnectionFactory"
        connectors="To Be Defined"/>
    <jms-queue
        name="jms/EBX_D3ReplyQueue"
        entries="java:/jms/EBX_D3ReplyQueue"
        durable="true"/>
    <jms-queue
        name="jms/EBX_QueueIn"
        entries="java:/jms/EBX_QueueIn"
        durable="true"/>
    <jms-queue
        name="jms/EBX_QueueFailure"
        entries="java:/jms/EBX_QueueFailure"
        durable="true"/>
    <jms-queue
        name="jms/EBX_D3MasterQueue"
        entries="java:/jms/EBX_D3MasterQueue"
        durable="true"/>
    <jms-queue
        name="jms/EBX_D3ArchiveQueue"
        entries="java:/jms/EBX_D3ArchiveQueue"
        durable="true"/>
    <jms-queue
        name="jms/EBX_D3CommunicationQueue"
        entries="java:/jms/EBX_D3CommunicationQueue"
        durable="true"/>
    

    Caution: the connectors attribute value, from the connection-factory element, has to be defined. Since the kind of connectors is strongly reliant on the environment infrastructure, a default configuration can not be provided.

    See configuring messaging for more information.

  3. Add, at least, the following line to mail subsystem:

    <mail-session name="mail" debug="false" jndi-name="java:/EBX_MAIL_SESSION"/>

Data source and JDBC provider configuration

  1. After the launch of the JBoss Server, run the management CLI without the use of '--connect' or '-c' argument.

  2. Use the 'module add' management CLI command to add the new core module. Sample for PostgreSQL configuration:

    module add \
      --name=org.postgresql \
      --resources=<PATH_TO_JDBC_JAR> \
      --dependencies=javaee.api,sun.jdk,ibm.jdk,javax.api,javax.transaction.api
    
  3. Use the 'connect' management CLI command to connect to the running instance.

  4. Register the JDBC driver. When running in a managed domain, ensure to precede the command with '/profile=<PROFILE_NAME>'. Sample for PostgreSQL configuration:

    /subsystem=\
      datasources/jdbc-driver=\
        postgresql:add(\
          driver-name=postgresql,\
          driver-module-name=org.postgresql,\
          driver-xa-datasource-class-name=org.postgresql.xa.PGXADataSource\
        )
  5. Define the datasource using the 'data-source add' command, specifying the appropriate argument values. Sample for PostgreSQL configuration:

    data-source add \
      --name=jdbc/EBX_REPOSITORY \
      --jndi-name=java:/EBX_REPOSITORY \
      --driver-name=postgresql \
      --connection-url=jdbc:postgresql://<SERVER_NAME>:<PORT>/<DATABASE_NAME> \
      --user-name=<PERSISTENCE_USER> \
      --password=<PERSISTENCE_PASSWORD>

EBX.ear application update

  1. Copy from the EBX® CD, the ebx.software/webapps/ear-packaging/EBX.ear file to your working directory.

  2. Uncompress the ear archive to add the application's specific required third-party libraries and additional web modules.

    Mail: see SMTP and emails for more information.

    SSL: see Secure Socket Layer (SSL) for more information.

    JMS: see Java Message Service (JMS) for more information.

    XML Catalog API: see XML Catalog API for more information.

  3. Update the /META-INF/application.xml and /META-INF/jboss-deployment-structure.xml files according to the added additional web modules.

  4. Compress anew the ear archive.

EBX.ear application deployment

  1. Copy EBX.ear into the JBOSS_HOME/standalone/deployments directory.

EBX® application start

  1. After the launch of the JBoss Application Server, with the <JBOSS_HOME>/bin/standalone.sh -c standalone-full.xml command line or through the service command, run the EBX® web application by entering the following URL in the browser: http://localhost:8080/ebx/.

  2. At first launch, EBX® Wizard helps to configure the default properties of the initial repository.

Documentation > Administration Guide > Installation & configuration > Installation notes