KB-1718 Tomcat fails to deploy Appian or start all services successfully

Symptoms

Symptom 1

Tomcat fails with the following error in <APPIAN_HOME>/logs/tomcat-stdOut.log:

ERROR org.hibernate.connection.DatasourceConnectionProvider - Could not find datasource: jdbc/AppianDS
javax.naming.NameNotFoundException: Name [jdbc/AppianDS] is not bound in this Context. Unable to find [jdbc].

Symptom 2

Tomcat starts successfully, but the Appian suite is not started. Although there is no explicit error in the tomcat-stdOut.log, the log output is much shorter than a typical start-up:

The system cannot find the file c:\appian\conf\custom.properties.
Using CATALINA_BASE:   "C:\appian\tomcat\apache-tomcat"
Using CATALINA_HOME:   "C:\appian\tomcat\apache-tomcat"
Using CATALINA_TMPDIR: "C:\appian\tomcat\apache-tomcat\temp"
Using JRE_HOME:        "C:\appian\java\jre"
Using CLASSPATH:       "C:\appian\tomcat\apache-tomcat\bin\bootstrap.jar;C:\appian\tomcat\apache-tomcat\bin\tomcat-juli.jar"
2019-05-15 19:39:24.082 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:        Apache Tomcat/8.5.40
2019-05-15 19:39:24.086 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Apr 10 2019 14:31:19 UTC
2019-05-15 19:39:24.087 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:         8.5.40.0
2019-05-15 19:39:24.087 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Windows Server 2016
2019-05-15 19:39:24.087 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            10.0
2019-05-15 19:39:24.087 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
2019-05-15 19:39:24.087 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             C:\appian\java\jre
2019-05-15 19:39:24.087 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           1.8.0_192-b12
2019-05-15 19:39:24.087 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation
2019-05-15 19:39:24.087 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         C:\appian\tomcat\apache-tomcat
2019-05-15 19:39:24.087 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         C:\appian\tomcat\apache-tomcat
2019-05-15 19:39:24.090 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=C:\appian\tomcat\apache-tomcat\conf\logging.properties
2019-05-15 19:39:24.090 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
2019-05-15 19:39:24.090 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
2019-05-15 19:39:24.090 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
2019-05-15 19:39:24.090 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dfile.encoding=UTF-8
2019-05-15 19:39:24.090 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Duser.timezone=GMT
2019-05-15 19:39:24.091 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.naming.factory.initial=com.appiancorp.tomcat.naming.TomcatInitialContextFactory
2019-05-15 19:39:24.091 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.awt.headless=true
2019-05-15 19:39:24.091 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.net.preferIPv4Stack=true
2019-05-15 19:39:24.091 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.osgi.framework.security=osgi
2019-05-15 19:39:24.091 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.security.manager
2019-05-15 19:39:24.091 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dsun.net.inetaddr.ttl=60
2019-05-15 19:39:24.091 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dsun.rmi.dgc.client.gcInterval=3600000
2019-05-15 19:39:24.091 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dsun.rmi.dgc.server.gcInterval=3600000
2019-05-15 19:39:24.091 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:+UseCompressedOops
2019-05-15 19:39:24.091 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:-TieredCompilation
2019-05-15 19:39:24.091 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:ReservedCodeCacheSize=256M
2019-05-15 19:39:24.091 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:+UseConcMarkSweepGC
2019-05-15 19:39:24.092 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:+ExplicitGCInvokesConcurrent
2019-05-15 19:39:24.092 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:+CMSClassUnloadingEnabled
2019-05-15 19:39:24.092 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:-TraceClassUnloading
2019-05-15 19:39:24.092 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:+PrintGCDetails
2019-05-15 19:39:24.092 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:+PrintGCDateStamps
2019-05-15 19:39:24.092 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:+UseGCLogFileRotation
2019-05-15 19:39:24.092 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:NumberOfGCLogFiles=5
2019-05-15 19:39:24.092 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:GCLogFileSize=3M
2019-05-15 19:39:24.092 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:+HeapDumpOnOutOfMemoryError
2019-05-15 19:39:24.092 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -verbose:gc
2019-05-15 19:39:24.092 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dae.home=c:\appian
2019-05-15 19:39:24.092 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xloggc:c:\appian\logs\tomcat\gc.log
2019-05-15 19:39:24.093 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xms2048m
2019-05-15 19:39:24.093 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xmx4096m
2019-05-15 19:39:24.093 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.security.policy=C:\appian\tomcat\apache-tomcat\conf\all.policy
2019-05-15 19:39:24.093 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
2019-05-15 19:39:24.093 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=C:\appian\tomcat\apache-tomcat
2019-05-15 19:39:24.093 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=C:\appian\tomcat\apache-tomcat
2019-05-15 19:39:24.093 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=C:\appian\tomcat\apache-tomcat\temp
2019-05-15 19:39:24.835 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
2019-05-15 19:39:24.967 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
2019-05-15 19:39:24.997 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
2019-05-15 19:39:25.002 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
2019-05-15 19:39:25.002 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 1475 ms
2019-05-15 19:39:25.022 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
2019-05-15 19:39:25.022 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.40
2019-05-15 19:39:25.140 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
2019-05-15 19:39:25.175 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
2019-05-15 19:39:25.179 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 175 ms

Cause

When the configure script is run, the content in tomcatResources.xml.<ENVIRONMENT> is copied to suite.xml in <APPIAN_HOME>\tomcat\apache-tomcat\conf\Catalina\localhost.

This error occurs if the content is not copied over correctly or if suite.xml is configured improperly.

Action

  1. Ensure tomcatResources.xml.<ENVIRONMENT> is configured according to installation documentation and copy the entire contents of that file into suite.xml in between the lines:
    <!-- BEGIN DATASOURCE -->
    <!-- END DATASOURCE -->
  2. Restart Tomcat.

Affected Versions

This article applies to Appian 18.3 and later.

Last Reviewed: August 2020

Related
Recommended