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 Jakarta 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.
Refer to the Security Best Practices for information on navigating secure deployments.
Java SE 17 LTS
JBoss Application Server EAP 8.0
Database and JDBC driver
EBX® CD
No CDI features in EBX®'s additional modules (since CDI will be automatically disable)
This quick installation example is performed for an unix operating system.
Download JBoss EAP 8.0.X Installer
jar version from:
Run the Installer
using java -jar command line.
For further installation details, refer to the documentation .
Perform a standard installation:
Select the language and click 'OK',
Accept the License and click 'Next',
Choose the installation path and click 'Next',
Keep the 'Component Selection' as it is and click 'Next',
Enter 'Admin username', 'Admin password' and click 'Next',
On 'Installation Overview' click 'Next',
On 'Component Installation' click 'Next',
On 'Configure Runtime Environment' leave the selection as it is and click 'Next',
When 'Processing finished' appear, click 'Next',
Generate 'installation script and properties file' in the JBoss EAP 8.0 installation root directory,
Click 'done'.
Create the EBX_HOME directory, for example /opt/ebx/home
.
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
.
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.
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).
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.
Set the 'JBOSS_MODULES_SYSTEM_PKGS' environment variable like the following:
JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman,net.jpountz"
Copy from the EBX® CD, the ebx.software/lib/ebx-lz4.jar
Data compression library to a dedicated directory (for example <JBOSS_HOME>/compress
).
Open the standalone.sh
script file, placed in <JBOSS_HOME>/bin
.
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}"
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
Open the standalone-full.xml
file placed in <JBOSS_HOME>/standalone/configuration
.
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 old documentation, for more information.
Add, at least, the following line to mail
subsystem:
<mail-session name="mail" debug="false" jndi-name="java:/EBX_MAIL_SESSION"/>
After the launch of the JBoss Server, run the management CLI without the use of '--connect' or '-c' argument.
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=wildflyee.api
Use the 'connect' management CLI command to connect to the running instance.
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\ )
Define the data source 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>
The data source can also be specified through the EBX® main configuration file. See Data source of the EBX® repository for more information.
Copy from the EBX® CD, the ebx.software/webapps/ear-packaging/EBX.ear
file to your working directory.
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.
Update the /META-INF/application.xml
and /META-INF/jboss-deployment-structure.xml
files according to the added additional web modules.
Compress anew the ear archive.
Copy EBX.ear into the JBOSS_HOME/standalone/deployments
directory.
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/.
At first launch, EBX® Wizard helps to configure the default properties of the initial repository.