I'm upgrading appian from 18.3 to 19.1 and have made all required changes however when i try to start the appserver it creates a new folder in the default appian log directory called "tomcat" but there are no logs in that folder. Previous release did have tomcat-stdout.log file that contained logs for the tomcat server has any one else run into this issue?
Discussion posts and replies are publicly visible
So i was able to resolve this with some help from appian. The issue currently is on Windows installation i have not tested this on Linux. As per Appian documentation jdk is now built into appian which is great but with that a few more environment variables needs to be defined. 1. JAVA_HOME this need to be <APPIAN_HOME>\java 2. JRE_HOME this need to be <APPIAN_HOME>\java\jre 3. CATALINA_HOME this needs to be <APPIAN_HOME>\tomcat\apache-tomcat 4. In the path variables add %CATALINA_HOME%\lib If step 2 -4 are not carried out appian installation will run without any errors but appserver wont start and neither will tomcat as startup.bat is looking for Catalina_home environment variable. Starting 19.1 is different. After executing <APPIAN_HOME>\tomcat\apache-tomcat\bin\start-appserver.bat you also need to execute <APPIAN_HOME>\tomcat\apache-tomcat\bin\startup.bat ( thanks appian for pointing this) this will execute the tomcat and catalina process. While tomcat is running look for error " SEVERE [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDescriptor Error deploying configuration descriptor [C:\appian191\appian\tomcat\apache-tomcat\conf\Catalina\localhost\suite.xml]java.io.FileNotFoundException: ..\..\..\conf\tomcatResources.xml (The system cannot find the path specified)" or "Failed to start component [/suite]" this is due to suite.xml having incomplete information. Suite.XML can be found in <APPIAN_HOME>\tomcat\apache-tomcat\conf\Catalina\localhost\ . Here's what my initial suite.xml looked like <!DOCTYPE config-xml [ <!ENTITY datasource-config SYSTEM "file:../../../conf/tomcatResources.xml"> ]> <Context docBase="${ae.home}/deployment/web.war" mapperDirectoryRedirectEnabled="true" swallowOutput="true"> <Loader loaderClass="com.appiancorp.tomcat.loader.AppianWebappClassLoader"/> <JarScanner> <JarScanFilter pluggabilitySkip="*" tldSkip="*" tldScan="${tomcat.util.scan.StandardJarScanFilter.jarsToScan}, string-*.jar, kcServlet-*.jar, taglibs-standard-impl-*.jar, regexp-*.jar, taglibs-standard-jstlel-*.jar, sitemesh-*.jar, jersey-server-*.jar, pluto-taglib-*.jar, i18n-*.jar, datetime-*.jar, struts-el-*.jar, struts-taglib-*.jar, struts-tiles-*.jar" /> </JarScanner> <!-- Imported datasources from AE_HOME/conf/tomcatResources.xml --> &datasource-config; <!-- In order to start a local broker the property conf.jms.embeddedBrokerEnabled must be set to true in custom.properties --> <Resource name="jms/AppianProcessIntegrationConnectionFactory" type="org.apache.activemq.ActiveMQConnectionFactory" auth="Container" description="Appian Process Integration JMS Connection Factory" factory="org.apache.activemq.jndi.JNDIReferenceFactory" brokerURL="tcp://localhost:61616" useEmbeddedBroker="true" brokerName="AppianActiveMQBroker"/> <Resource name="jms/AppianProcessIntegrationQueue" type="org.apache.activemq.command.ActiveMQQueue" factory="org.apache.activemq.jndi.JNDIReferenceFactory" physicalName="APPIAN.PROCESS.INTEGRATION.QUEUE" auth="Container"/> <Resources cachingAllowed="false"> <PostResources base="${ae.home}/deployment/web.war/WEB-INF/resources" className="org.apache.catalina.webresources.DirResourceSet" webAppMount="/WEB-INF/classes" /> <PostResources base="${ae.home}/conf" className="org.apache.catalina.webresources.DirResourceSet" webAppMount="/WEB-INF/classes" /> </Resources> <Manager pathname="" /> <!-- BEGIN ACCESSLOG --> <Valve className="org.apache.catalina.valves.ExtendedAccessLogValve" directory="${ae.home}/logs" prefix="tomcat-access.log" pattern="date time cs-uri x-P($bgUrl) sc-status time-taken" conditionUnless="no-access-log" /> <!-- END ACCESSLOG --> </Context> My Modified suite.xml has datasource values: <Context docBase="${ae.home}/deployment/web.war" mapperDirectoryRedirectEnabled="true" swallowOutput="true"> <Loader loaderClass="com.appiancorp.tomcat.loader.AppianWebappClassLoader"/> <JarScanner> <JarScanFilter pluggabilitySkip="*" tldSkip="*" tldScan="${tomcat.util.scan.StandardJarScanFilter.jarsToScan}, string-*.jar, kcServlet-*.jar, taglibs-standard-impl-*.jar, regexp-*.jar, taglibs-standard-jstlel-*.jar, sitemesh-*.jar, jersey-server-*.jar, pluto-taglib-*.jar, i18n-*.jar, datetime-*.jar, struts-el-*.jar, struts-taglib-*.jar, struts-tiles-*.jar" /> </JarScanner> <!-- BEGIN DATASOURCES --> <Resource name="jdbc/AppianDS" factory="com.appiancorp.tomcat.datasource.EncodedPasswordDataSourceFactory" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/appian_schema?useOldAliasMetadataBehavior=true&useUnicode=true&characterEncoding=utf8" username="xxxx" password="xxxxxx" initialSize="5" maxTotal="100" defaultTransactionIsolation="READ_COMMITTED" maxWaitMillis="30000" minIdle="5" minEvictableIdleTimeMillis="90000" timeBetweenEvictionRunsMillis="450000" numTestsPerEvictionRun="100" accessToUnderlyingConnectionAllowed="true" validationQuery="SELECT 1" testOnBorrow="true" /> <!-- END DATASOURCES --> <!-- In order to start a local broker the property conf.jms.embeddedBrokerEnabled must be set to true in custom.properties --> <Resource name="jms/AppianProcessIntegrationConnectionFactory" type="org.apache.activemq.ActiveMQConnectionFactory" auth="Container" description="Appian Process Integration JMS Connection Factory" factory="org.apache.activemq.jndi.JNDIReferenceFactory" brokerURL="tcp://localhost:61616" useEmbeddedBroker="true" brokerName="AppianActiveMQBroker"/> <Resource name="jms/AppianProcessIntegrationQueue" type="org.apache.activemq.command.ActiveMQQueue" factory="org.apache.activemq.jndi.JNDIReferenceFactory" physicalName="APPIAN.PROCESS.INTEGRATION.QUEUE" auth="Container"/> <Resources cachingAllowed="false"> <PostResources base="${ae.home}/deployment/web.war/WEB-INF/resources" className="org.apache.catalina.webresources.DirResourceSet" webAppMount="/WEB-INF/classes" /> <PostResources base="${ae.home}/conf" className="org.apache.catalina.webresources.DirResourceSet" webAppMount="/WEB-INF/classes" /> </Resources> <Manager pathname="" /> <!-- BEGIN ACCESSLOG --> <Valve className="org.apache.catalina.valves.ExtendedAccessLogValve" directory="${ae.home}/logs" prefix="tomcat-access.log" pattern="date time cs-uri x-P($bgUrl) sc-status time-taken" /> <!-- END ACCESSLOG --> </Context> Restarted the appian start process and it worked. This has only been seen on Appian Windows installation havent tested it on Linux yet.
Appian has confirmed it's a issue in 19.1 and will be addressed in the upcoming hotfix
above worked on linux, 19.1 hotfix A
thanks
matts401 can you confirm if tomcat-stdOut.log is generated automatically after applying hotfix A?
Yes, it is generating correctly for me
Hi Ankur, Thanks for sharing this helpful information.I am facing another error while starting the app server when I check the log file the error stated as
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
I have given root access to the uses in MySQL users but the error still remains, can you kindly tell me if you know how to solve this error?
Waiting for a response,
Thank you
Can you connect to the DB from workbench using the credentials you have set? If it works then check the suite.xml in APPIAN_HOME>\tomcat\apache-tomcat\conf\Catalina\localhost\ and validate if the password matches in the below codeBEGIN DATASOURCES --> <Resource name="jdbc/AppianDS" factory="com.appiancorp.tomcat.datasource.EncodedPasswordDataSourceFactory" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/appian_schema?useOldAliasMetadataBehavior=true&useUnicode=true&characterEncoding=utf8" username="xxxx" password="xxxxxx"
Hi Ankur,
Thank you for the reply,
I have provided the correct username and password in suite.xml file which I am using in the workbench to access the database, but I am still getting the same error.
can you kindly tell me which version of java connector are you using
Hope so you are doing fine, thank you for your reply.
I have placed the following connector jars in the (repo\appian\tomcat\apache-tomcat\lib)
mysql-connector-java-5.1.47
mysql-connector-java-5.1.47-bin
mysql-connector-java-8.0.11
mysql-connector-java-8.0.16
------------------------------------
I am trying to install appian server but having difficulty with configuring the MySql connection can you kindly tell me what is JNDI? what do I need to put in .xml file
e.g:
for tomcat.resource.xml
what should be the name? here (<Resource name="jdbc/") what should be after jdbc/ should it be the schema name? e.g appian_schema I created in MySql server -> (<Resource name="jdbc/appian_schema") or it should be something else?
-------------------------------------------------------------
what should be in url after port/
is this the correct url? if I my sql servr is on local machine and the schema is appian_schema
url="jdbc:mysql://localhost:3306/appian_schema?useOldAliasMetadataBehavior=true&useServerPrepStmts=true"
---------------------------------------
and for custom.properties.dev file, should the data source look like this?
conf.data.datasources=appian_schema
I am new to appian and need to set a an appian server on my local machine, I am setting up server for first time, kindly help me out.
Any help would be really appreciated