FlexDeploy provides a file distribution for Tomcat which simplifies the installation process.  This distribution contains Tomcat, the FlexDeploy WAR, and the base configurations, leaving only a few simple steps to complete the install. The distribution contains the following components. 

 If you wish to use an existing Tomcat server, or to use a different version of Tomcat other than 8.5.11, please see Installing FlexDeploy on existing Tomcat.

Requirements 

Installation Instructions

Adjust for Windows path if you are installing on Windows platform.

Step 1. Ensure Java 8 is installed on the server.

In this example, JAVA_HOME is /u01/java/jdk1.8.0_171 but it can be anything you want. If default java is not version 8, then we will need to adjust for it during Step 7 later. 

Step 2. Extract the zip file in the desired location (referred to as "FlexDeploy Home" in this document). See example below, where zip was extracted in /u01/flexdeploy folder.

We recommend use of folder structure without any space in name.

Here is how it will look like after unzip.

Step 3. Setup the database for FlexDeploy, if you not already done so.

Step 4. Modify Tomcat configuration file (context.xml) for database connectivity depending on your database type. Replace URL and Password with the actual values.

File - <FlexDeploy Home>/apache-tomcat-flexdeploy/conf/context.xml

  • Oracle
    • Localhost XE connection will look like this. jdbc:oracle:thin:@localhost:1521:XE
    • SID based JDBC URL Syntax - jdbc:oracle:thin:@HOSTNAME:PORT:SID
    • Service Name based JDBC URL Syntax - jdbc:oracle:thin:@//HOSTNAME:PORT/SERVICENAME
  • PostgreSQL
    • Syntax - jdbc:postgresql://hostname:port/flexdeploy
    • Example - jdbc:postgresql://dkrlp01:5432/flexdeploy
  • MySQL
    • jdbc:mysql://hostname:port/FD_ADMIN
    • Example - jdbc:mysql://dkrlp01:3307/FD_ADMIN


<Resource name="jdbc/flexdbDS" auth="Container"
    type="oracle.jdbc.pool.OracleDataSource"
    factory="oracle.jdbc.pool.OracleDataSourceFactory"
    
    url="**CONNECT_STRING**"
    user="fd_admin"
    password="**FD_ADMIN_PASSWORD**"
    
    connectionCachingEnabled="true"
    connectionCacheProperties="{InitialLimit=0, MinLimit=0, MaxLimit=100, ConnectionWaitTimeout=60, InactivityTimeout=300, AbandonedConnectionTimeout=300, PropertyCheckInterval=30}"
    
    validationQuery="select 1 from dual"
    testOnBorrow="true"
    
    useLocalSessionState="true"
    defaultAutoCommit="false"/>


<Resource name="jdbc/flexdbDS" auth="Container"
    type="javax.sql.DataSource"
    factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
    driverClassName="org.postgresql.Driver"
    
    url="**CONNECT_STRING**"
    username="fd_admin"
    password="**FD_ADMIN_PASSWORD**"
    
    maxTotal="100"
    maxIdle="20"
    
    validationQuery="select 1"
    testOnBorrow="true"
    
    defaultTransactionIsolation="READ_COMMITTED"
    useLocalSessionState="true"
    defaultAutoCommit="false"/>


<Resource name="jdbc/flexdbDS" auth="Container"
    type="javax.sql.DataSource"
    factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
    driverClassName="com.mysql.jdbc.Driver"
    
    url="**CONNECT_STRING**"
    username="fd_admin"
    password="**FD_ADMIN_PASSWORD**"
    
    maxTotal="100"
    maxIdle="10"
    initialSize="10"
    
    validationQuery="SELECT 1"
    testOnBorrow="true"
    
    defaultTransactionIsolation="READ_COMMITTED"
    useLocalSessionState="true"
    defaultAutoCommit="false"/>

Step 5. (Optional) Modify Tomcat server.xml for port if necessary. 

File - <FlexDeploy Home>/apache-tomcat-flexdeploy/conf/server.xml

Step 6. (Optional) Modify Tomcat Environment script (setenv.sh or setenv.bat) for FlexDeploy server side directories.

If you are setting up FlexDeploy for Trial purposes, it is good idea to leave directories as default,  but

if you are setting up FlexDeploy for production use, then we recommend to modify to use directory structure outside of FlexDeploy installation.

File - <FlexDeploy Home>/apache-tomcat-flexdeploy/bin/setenv.sh (setenv.bat on windows)

Below are default artifact and working directories created under FlexDeploy Home when you extracted zip file. If you want to use different directories then modify setenv.sh or setenv.bat file, otherwise skip this step.

Default setenv.sh is shown below.

Here is example of setenv.sh which is modified to use non-default folders.

Step 7. (Optional) Modify Tomcat Environment script (setenv.sh or setenv.bat) for JAVA_HOME.

File - <FlexDeploy Home>/apache-tomcat-flexdeploy/bin/setenv.sh (setenv.bat on windows)

If JAVA_HOME is already set in your environment, you can skip this step.

Unix Example - export JAVA_HOME=/u01/java/jdk1.8.0_121

Windows Example - set JAVA_HOME=c:/installs/Java/jdk1.8.0_121

 If you were also setting JAVA_HOME, this file would look like this.

Step 8. ADF Essentials comes with the JDBC driver for Oracle 11g database (ojdbc6dms.jar). If you are using Oracle 12c database, you can download the driver (ojdbc7.jar) from the Oracle Technology Network site at Oracle 12c drivers. Delete ojdbc6dms.jar from <FlexDeploy Home>/apache-tomcat-flexdeploy/lib and place ojdbc7.jar in that same folder.

If adding another JDBC driver, be sure to remove the default one which comes with the ADF Essentials libraries (ojdbc6dms.jar).  If you leave multiple JDBC drivers in the lib folder, you could encounter the following exception on startup:

java.lang.SecurityException: sealing violation: package oracle.jdbc is sealed

                at java.net.URLClassLoader.getAndVerifyPackage(Unknown Source)

                at java.net.URLClassLoader.definePackageInternal(Unknown Source)

                at java.net.URLClassLoader.defineClass(Unknown Source)

                at java.net.URLClassLoader.access$100(Unknown Source)

                at java.net.URLClassLoader$1.run(Unknown Source)

Step 9. (Optional) Only ff using IBM ClearCase, you will need to copy some jar files from your ClearCase server or ClearTeam Explorer installation to the FlexDeploy installation

Copy all of the jar files found in the com.ibm.rational.teamapi_8.0.1.vxxx folder of your ClearCase server or ClearTeam Explorer installation to <FlexDeploy Home>/apache-tomcat-flexdeploy/lib. (commons-codec-1.3.jar, commons-lang-2.3.jar, icu4j-4_8.jar, remote_core.jar, stpclientws.jar, stpcq.jar, teamapiextensions.jar, unicodetypemgr.jar, commons-httpclient-3.0.jar, commons-logging-1.0.4.jar, icu4j-charset-4_8.jar, stpcc.jar, stpcmmn.jar, stpwvcm.jar, ucleardiffmerge.jar)

Step 10. (Linux only) - set the shell scripts executable with this command.

chmod +x <FlexDeploy Home>/apache-tomcat-flexdeploy/bin/*.sh
chmod +x <FlexDeploy Home>/*.sh

Step 11. Skip this step if you did not modify setenv.sh or setenv.bat to use non-default server side directories in Step 6.

If you are using non-default server side directories, then move all the jar files from <FlexDeploy Home>/application/plugins to FLEXDEPLOY_WORKING_DIR/plugins. At startup, FlexDeploy will load all the plugins.

Step 12. (Optional) Only if running FlexDeploy on a MySQL database.

Step 13. Start tomcat by running the following script.

File - <FlexDeploy Home>/StartFlexDeploy.sh(you can also use startup.sh or startup.bat scripts)

After starting your server, check the <FlexDeploy Home>/apache-tomcat-flexdeploy/logs/flexdeploy.0.log file for the following error message:

  • ORA-12519, TNS:no appropriate service handler found

If present, increase the number of processes for the database

  • Using SQLPlus update processes setting.
    • alter system set processes=200 scope=spfile;
  • Stop Tomcat
  • Restart the XE Database
  • Start Tomcat

Step 14. Launch FlexDeploy in your browser.

Step 15. Go to Administration - Plugins on FlexDeploy. Verify that Plugins are loaded. You should not see any files remaining in FLEXDEPLOY_WORKING_DIR/plugins folder after few minutes.