Deploying Unica Journey on Apache Tomcat application server
About this task
- 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).
- 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 insetenv.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" />
- Access the Instance location used for Unica Journey. For example, /opt/Tomcat/instance1.
- Delete the contents of the folders webapps and work.