JBoss AS / JBoss Enterprise Application Platform

Installation of CloverETL Server
Configuration of CloverETL Server on JBoss
Installation of CloverETL Server License

Installation of CloverETL Server

  1. Get CloverETL Server web archive file (clover.war) which is built for JBoss.

  2. Check if you meet prerequisites

    • Oracle JDK or JRE version 1.7.x or higher

    • JBoss AS 6.x or JBoss EAP 6.x (JBoss AS 7) - see http://www.jboss.org/jbossas/downloads

    • Memory settings for JBoss Java process. See section Memory Settings for details.

      You can set the memory limits in [jboss-home]/bin/run.conf (run.conf.bat on Windows OS) or [joss-home]/bin/standalone.conf for JBoss EAP in standalone mode:

      JAVA_OPTS="$JAVA_OPTS -XX:MaxPermSize=512m -Xms128m -Xmx2048m" 
      

      On Windows, perform steps analogic to the ones above.

  3. Create separated JBoss server configuration

    However it may be useful to use specific JBoss server configuration, when it is necessary to run CloverETL:
    • isolated from other JBoss applications

    • with different set of services

    • with different libraries on the classpath then other applications

    See the JBoss manual for details about JBoss server configuration: JBoss Server Configurations Start the Server With Alternate Configuration

  4. Configure DB data source

    Since JBoss AS does not work with embedded derby DB, a DB connection always has to be configured. We used MySQL in this case

    • Create datasource config file [jboss-home]/server/[serverConfiguration]/deploy/mysql-ds.xml

      <datasources>
          <local-tx-datasource> 
              <jndi-name>CloverETLServerDS</jndi-name> 
              <connection-url>jdbc:mysql://localhost:3306/cloverServerDB</connection-url> 
              <driver-class>com.mysql.jdbc.Driver</driver-class> 
              <user-name>root</user-name> 
              <password></password> 
          </local-tx-datasource> 
      </datasources>              
      
      [Note]Note

      Special characters in the XML file have to be typed in as XML entities. For instance, ampsersand "&" as "&amp;" etc.

      JNDI name has to be exactly "CloverETLServerDS". The thing to do here is to set DB connection parameters (connection-url, driver-class,user-name and password) to the created database. The database has to be empty before the first execution, the server creates its tables itself.

      JNDI data source is the only way of configuring CloverETL Server DB connection in JBoss.

    • Put JDBC driver for your DB to the app server classpath. We copied JDBC driver mysql-connector-java-5.1.5-bin.jar to [jboss-home]/server/[serverConfiguration]/lib

  5. 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, one needs to define global module so that the driver is available for CloverETL web application - copying the driver to 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-home]/modules/mysql/driver/main

    • 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-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>
      
                      

  6. Configure CloverETL Server according to description in the next section.

  7. Deploy WAR file

    Copy clover.war to [jboss-home]/server/[serverConfiguration]/deploy (for JBoss AS) or to [jboss-home]/standalone/deployments for standalone JBoss EAP server.

  8. Start JBoss AS via [jboss-home]/bin/run.sh (or run.bat on Windows OS) If you want to run JBoss with specific server configuration, it must be specified as parameter like this: [jboss-home]/bin/run.sh -c [serverConfiguration] If the serverConfiguration isn't specified, the "default" is used.

    When using JBoss EAP, use [jboss-home]/bin/standalone.sh (or standalone.bat on Windows OS) to start the platform.

    It may take a couple of minutes until all applications are started.

  9. Check JBoss response and CloverETL Server response

  10. If you like, you can move default and example sandboxes (created automatically in the temp directory) to a more suitable directory on your filesystem.

    • These sandboxes are created automatically during the first deployment and are located in the web-app directory, which is related to the specific deployment. If you redeployed the web application for a reason, the directory would be recreated. That is why it is better to move the sandboxes to a location which will not change.

Configuration of CloverETL Server on JBoss

Default installation (without any configuration) is recommended only for evaluation purposes. For production, configuring at least tha DB data source and SMTP server is recommended.

There are more ways how to set config properties. The most common one is properties file in a specified location.

Properties File in Specified Location

Installation of CloverETL Server License

CloverETL Server requires a valid license for executing graphs. You can install CloverETL Server without a license, but no graph will be executed.

  1. Get the license.dat file.

    If you only have clover_license.war, extract it as a common zip archive and you will find license.dat in the WEB-INF subdirectory

  2. Fill CloverETL Server parameter license.file with path to license.dat.

    The best way how to configure license is setting the license.file property in the cloverServer.properties file as described in the previous section.

    There are other ways how to do this. (See Part III, “Configuration” for description of all possibilities).

  3. Changes in configuration require restarting the app-server.

Alternatively, you can use a web form to install CloverETL Server License. See details in Installation of CloverETL Server License using a web form.

[Note]Note

CloverETL license can be changed any time by replacing file license.dat. Then you have to let CloverETL Server know the license is changed.

  • Go to web GUIConfigurationCloverETL InfoLicense

  • Then click Reload license.

  • Alternatively, you can restart CloverETL Server application.