Deploying Unica Journey on Apache Tomcat application server

About this task

You can deploy or run the following Journey components.
  • Journey Web -It is required to be deployed in Tomcat.
  • Journey Engine - It is run as a standalone application.
  • Kafka Server - It is run as a standalone application (Kafka server and Zookeeper).
Use the following guidelines when you deploy Unica Journey on Tomcat:
  • Unica products customize the JVM used by Tomcat. You must create a new tomcat instance dedicated for Unica Journey web application deployment.
  • If you are deploying in a production environment, set the JVM memory heap size parameters to at least 1024 by adding the following line to the setenv.bat/sh e.g : set CATALINA_OPTS=%CATALINA_OPTS% -Xms1024m -Xmx1024m -XX:MaxPermSize=512m.

    These are the suggested minimum values. Analyze your sizing requirements to determine correct values for your needs. Depending upon system load -Xmx value should be adjusted. Note that a 64-bit application server and JVM are usually necessary for values greater than 2048.

  • Modify the JAVA_OPTIONS parameter to add the following value in setenv.bat/sh.

    set JAVA_OPTS=%JAVA_OPTS% -DUNICA_PLATFORM_CACHE_ENABLED=true -Dclient.encoding.override=UTF-8.

    -Djourney.web.home=<Journeys_Install_location>/Web/

  • You must add Unica Journey deployment XML file with name journey.xml along with the path of journey.war to the Unica Journey Tomcat instance. For example:
      
    <?xml version="1.0"?>
    <Context docBase="<Journeys_Install_Path>/Web/journey.war">
    <Environment name="journey.web.home" value="<Journeys_Install_Path>/Web/" type="java.lang.String"/>
    <Resource name="JourneyDS" type="javax.sql.DataSource" factory="com.hcl.journey.tomcat.util.JourneyTomcatDSFactory"
    maxActive="30" maxIdle="10" maxWait="10000"
    username="<your_db_user_name>" password="<your_db_user_password>" driverClassName="oracle.jdbc.OracleDriver"
    url="jdbc:oracle:thin:@<Host>:<Port>:<SID_NAME>"/>
    <Resource name="JourneyReportDS" type="javax.sql.DataSource" factory="com.hcl.journey.tomcat.util.JourneyTomcatDSFactory"
    maxActive="30" maxIdle="10" maxWait="10000"
    username="<your_db_user_name>" password="<your_db_user_password>" driverClassName="oracle.jdbc.OracleDriver"
    url="jdbc:oracle:thin:@<Host>:<Port>:<SID_NAME>"/>
    </Context>
    Note:
    • docBase = path should point to journey web war
    • {{You can encrypt DB password using }} JourneyEncryptionUtility.sh located in <Journey_Install_Path>/tools

    Important Tips for creating DataSource connection:

    Oracle:

    DRIVER_URL : jdbc:oracle:thin:@<DB_HOST_NAME:<DB_PORT>:<SID_NAME>

    DRIVER_CLASS_NAME : oracle.jdbc.OracleDriver

    MariaDB:

    DRIVER_URL : jdbc:mariadb://<DB_HOST_NAME>:<DB_PORT>/<DB_USER_NAME>

    DRIVER_CLASS_NAME : org.mariadb.jdbc.Driver

    SQL Server

    DRIVER_URL : jdbc:sqlserver://<DB_HOST_NAME>:<DB_PORT>;databaseName=<DB_USER_NAME>

    DRIVER_CLASS_NAME : com.microsoft.sqlserver.jdbc.SQLServerDriver

    OneDB

    DRIVER_URL : jdbc:informix-sqli://<DB_HOST_NAME>:<DB_PORT>/<DB_SCHEMA_NAME>:informixserver=<INFORMIX_SERVER_NAME>

    DRIVER_CLASS_NAME : com.informix.jdbc.IfxDriver

  • Restart the Tomcat application server.

If AWS ELB (Elastic Load Balancing) is on HTTPS and Journey product is on HTTP, If Journey Swagger API page is not loading or Swagger API are not executing, user needs to Configure Tomcat for SSL offloading by adding below parameters connector tag in server.xml:

Example: /opt/Tomcat/Journey_instance/conf/server.xml

<Connector port="7010" protocol="HTTP/1.1"

connectionTimeout="20000"

scheme="https" secure="true"

redirectPort="9010" />

Cleaning the Apache Tomcat application server cache
  1. Access the Instance location used for Unica Journey. For example, /opt/Tomcat/instance1.
  2. Delete the contents of the folders webapps and work.