VERIFIED SOLUTION i

Resolve EngageOne Digital Delivery deployed over Tomcat fails to starts with error "Server has no instance named "

Issue

eMessaging application does not get started with the start of Tomcat Application Server. Following are the errors observed in the respective logs.

Tomcat Application Server logs (localhost.<date>.log)
Invocation of init method failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection

eMessaging Application (emsglog4j.log) logs:
SqlExceptionHelper.logExceptions(144) | Cannot create PoolableConnectionFactory (Server <DB Server> has no instance named <Instance name>.)
Invocation of init method failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection

Cause

This error could be encountered if there no instance named <Instance name> on <DB Server> however "Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection" is a very generic error and could occur if any of the specifications (DB Server, port etc) are incorrect in JDBC.PROPERTIES file.

Resolution

UPDATED: June 13, 2017
Please follow below steps:
  • Stop Tomcat Application Server application. 
  • Open eMessaging install directory and go to <Install Dir…>\PBBI CCM\e-Messaging\ core.war\WEB-INF\classes. 
  • Open JDBC.PROPERTIES file, correct the DB instance hosting eMessaging DB. If there is any other discrepancy in the jdbc.properties file, that should be corrected.
  • Save the file and restart Application server.
If the issue still exists, please contact Client Support.