Installation of JBoss EAP |
Installation of CloverETL Server |
Configuration of CloverETL Server on JBoss EAP |
Important | |
---|---|
See Application Server in system requirements for currently supported JBoss EAP versions and required Java versions. If you encounter any problems during the installation, the Possible Issues during Installation section may provide a solution. |
Using your credentials, log into the customer portal on the official Red Hat page and download a compatible JBoss EAP version.
Extract the downloaded archive (alternatively, you can download and run the installer and follow the instructions).
Run JBoss EAP.
Run [JBoss_EAP_home]/bin/standalone.sh
.
Run [JBoss_EAP_home]\bin\standalone.bat
.
Check whether JBoss EAP is running.
Open a new tab in your browser and type http://localhost:8080/ in the address bar.
You should see the JBoss EAP welcome page (otherwise, please consult the JBoss EAP guide):
Figure 3.8. JBoss EAP welcome page
Check if you meet the prerequisites:
Oracle JDK or JRE is installed (see Java Virtual Machine for the required Java version).
JAVA_HOME or JRE_HOME environment variable is set (see Setting up JAVA_HOME).
A supported version of JBoss EAP (JBoss AS 7) is installed.
CloverETL Server is developed and tested with the JBoss EAP 6.2 and 6.4 (JBoss 7) containers. Running the Server with other versions may result in unpredictable behavior.
It is strongly recommended to adjust the default limits for Memory allocation (see the Memory Settings section).
You can set the minimum and maximum memory heap size by adjusting the "Xms" and "Xmx" JVM parameters and classloaders memory limit by adjusting the "XX:MaxMetaspaceSize" parameter:
For JBoss EAP standalone mode, follow these steps:
Edit the [JBoss_EAP_home]/bin/standalone.conf
file.
Add the following line:
JAVA_OPTS="$JAVA_OPTS -XX:MaxMetaspaceSize=512m -Xms128m -Xmx2048m"
Edit the [JBoss_EAP_home]\bin\standalone.conf.bat
file.
JAVA_OPTS="$JAVA_OPTS -XX:MaxMetaspaceSize=512m -Xms128m -Xmx2048m"
Important | |
---|---|
If you use Java 7, change |
Go to the download section of your CloverETL account
and download the clover.war
(web archive) file
containing CloverETL Server for JBoss EAP.
Configure the database connection.
By default, CloverETL Server uses embedded Derby database; however, such setup is not recommended for production use.
You can use the database connection provided by JNDI-bound datasource deployed by JBoss EAP. In order to define the datasource, edit the file:
[JBoss_EAP_home]/standalone/configuration/standalone.xml
and add the definition of the datasourceinto into the section
<subsystem
xmlns="urn:jboss:domain:datasources:1.1">
under the element
<datasources>
.
Here is an example of datasource connecting to a MySQL database:
<datasource jndi-name="java:jboss/datasources/CloverETLServerDS" pool-name="CloverETLServerDS-Pool" enabled="true"> <connection-url>jdbc:mysql://localhost:3307/cloverServerDB</connection-url> <driver>com.mysql</driver> <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation> <pool> <min-pool-size>5</min-pool-size> <max-pool-size>50</max-pool-size> <prefill>true</prefill> </pool> <security> <user-name>root</user-name> <password>root</password> </security> <statement> <prepared-statement-cache-size>32</prepared-statement-cache-size> <share-prepared-statements>true</share-prepared-statements> </statement> </datasource> <drivers> <driver name="com.mysql" module="mysql.driver"> <driver-class>com.mysql.jdbc.Driver</driver-class> </driver> </drivers>
The datasource definition references a module
(mysql.driver
) with the MySQL JDBC driver. Take the following steps to
add the module:
Note | |
---|---|
Under JBoss EAP there are more options to setup CloverETL Server's database: along with JNDI-bound data source, it is possible to use embedded Derby database or other supported database specified in CloverETL configuration file. |
In order to be able to connect to the database, you
need to define global module so that the driver is
available
for CloverETL web application - copying the driver to the
lib/ext
directory of the server will not work.
Such module is created and deployed in few steps (the example is for
MySQL and module's name is
mysql.driver
):
Create directory
[JBoss_EAP_home]/modules/mysql/driver/main
(note that the directory path corresponds to
module name
mysql.driver
)
Copy the driver
mysql-connector-java-5.1.5-bin.jar
to that directory and
create there file
module.xml
with following content:
<?xml version="1.0" encoding="UTF-8"?> <module xmlns="urn:jboss:module:1.1" name="mysql.driver"> <resources> <resource-root path="mysql-connector-java-5.1.5-bin.jar" /> </resources> <dependencies> <module name="javax.api" /> </dependencies> </module>
Add the module to global server modules: in
case of the standalone JBoss EAP server they
are defined in
[JBoss_EAP_home]/standalone/configuration/standalone.xml
. The module is to be added
into EE domain subsystem section:
<subsystem xmlns="urn:jboss:domain:ee:1.1"> <global-modules> <module name="mysql.driver" slot="main" /> </global-modules> <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement> <jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement> </subsystem>
Configure CloverETL Server according to a description in the next section .
Deploy WAR file.
Copy the
clover.war
file to
[JBoss_EAP_home]/standalone/deployments.
To start the JBoss platform:
Run [JBoss_EAP_home]/bin/standalone.sh
.
Run [JBoss_EAP_home]\bin\standalone.bat
.
It may take a couple of minutes for all applications to start.
Check JBoss response and CloverETL Server response.
JBoss administration console is accessible at http://localhost:8080/ by default. Default username/password is admin/admin
CloverETL Server is accessible at http://localhost:8080/clover by default.
Tip | |
---|---|
Default installation (without any configuration) is only recommended for evaluation purposes. For production use, at least a dedicated database and SMTP server configuration is recommended. |
For detailed configuration of CloverETL Server, use a properties file. Here you can configure various properties, including the connection to the database, username and password, path to the license file, private properties, number of active threads, clusters and much more (see Chapter 9, List of Properties and Chapter 30, Cluster Configuration). The file can be placed either on a default, or specified location.
The properties file is loaded from a location which is specified by the environment/system property
clover_config_file
or clover.config.file
.
Create the cloverServer.properties
file in a directory readable by JBoss EAP.
(If you need an example of connection to any of supported databases, see Chapter 8, Examples of DB Connection Configuration.):
datasource.type=JNDI datasource.jndiName=java:jboss/datasources/CloverETLServerDS jdbc.dialect=org.hibernate.dialect.MySQLDialect license.file=/home/clover/config/license.dat
Do not forget to set correct JDBC dialect according to your database server (Part III, “Configuration”). You can set the path to the license file, too.
Alternatively, you can set "JDBC"
datasource.type
and configure the
database connection to be managed directly by CloverETL Server (provided
that you have deployed proper JDBC driver module
to the server):
datasource.type=JDBC jdbc.url=jdbc:mysql://localhost:3306/cloverServerDB jdbc.dialect=org.hibernate.dialect.MySQLDialect jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.username=root jdbc.password=root license.file=/home/clover/config/license.dat
Set the clover.config.file
system property (or environment variable).
It should contain the full path to the
cloverServer.properties
file
created in the previous step.
The simplest way to set the system property is
to edit the configuration file
[JBoss_EAP_home]/standalone/configuration/standalone.xml
, and to add the following snippet just under
<extensions>
section:
<system-properties> <property name="clover.config.file" value="C:/jboss-eap-6.2/cloverServer.properties" /> </system-properties>
Restart the JBoss EAP so that the changes take effect.
Check the CloverETL Server application is running:
Server's console is accessible at http://localhost:8080/clover by default.
Note | |
---|---|
The JBoss EAP has, by default, enabled HTTP session replication. This requires session serialization that is not supported by CloverETL Server, and produces lots of harmless errors in JBoss's console like this: 10:56:38,248 ERROR [org.infinispan.transaction.TransactionCoordinator] (http-/127.0.0.1:8080-2) ISPN000188: Error while processing a commit in a two-phase transaction: java.lang.UnsupportedOperationException: Serialization of HTTP session objects is not supported by CloverETL Server - disable the session passivation/replication for this web application. at com.cloveretl.server.web.gui.e.writeExternal(Unknown Source) [cs.jar:] at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:874) To get rid of these errors, disable the session replication.
Edit |
Note | |
---|---|
Continue with: Chapter 4, Postinstallation Configuration |