Author Message
Mahvenk
Joined: Aug 21, 2015
Messages: 15
Offline
Hi ,

Working on migrating IVR application from Tomcat 7.0 to Tomcat 8.5. After Migrating IVR related items in the application are working fine but facing an issue in data source which is setup in application level context. Same setup is working fine in Tomcat 7.Database used - Postgres SQL.Apart from Tomcat Change we are changing AAOD from 7.0 to 7.2.1 , Java 7 to Java 8.

Also we are using OD DB node instead of coding.


Below is the stack trace i am getting ,

Caused by: javax.servlet.ServletException: EXCEPTION>
javax.naming.NameNotFoundException: Name [jdbc/ReportDB] is not bound in this Context. Unable to find [jdbc].
at org.apache.naming.NamingContext.lookup(NamingContext.java:817)
at org.apache.naming.NamingContext.lookup(NamingContext.java:173)
at org.apache.naming.SelectorContext.lookup(SelectorContext.java:163)
at javax.naming.InitialContext.lookup(Unknown Source)
at com.avaya.sce.runtime.jdbc.Database.<init>(Database.java:48)
at com.avaya.sce.runtime.connectivity.db.DbQuery.execute(DbQuery.java:117)
at com.avaya.sce.runtime.Data.evaluateActions(Data.java:228)
at flow.ToAgentCheckVDN.executeDataActions(ToAgentCheckVDN.java:296)
at com.avaya.sce.runtime.Data.handleRequest(Data.java:121)
at com.avaya.sce.runtime.AppServlet.processRequest(AppServlet.java:96)
at com.avaya.sce.runtime.SCEServlet.requestHandler(SCEServlet.java:247)
at com.avaya.sce.runtime.SCEServlet.doGet(SCEServlet.java:140)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)

at com.avaya.sce.runtime.Data.handleRequest(Data.java:132)
at com.avaya.sce.runtime.AppServlet.processRequest(AppServlet.java:96)
... 26 more



Attached Context file FYR; currently it is kept under Application / Meta-INF / Context.xml.

Below are the things i tried so far but didnt work out.

  • Moved context to global level in server.xml and added resource link in context.

  • Added resource reference in web.xml in application level.

  • Moved context.xml to catalina / localhost


  • Please help me with guidance / fixes .

    Thanks in Advance




    Filename Context.txt [Disk] Download
    WilsonYu
    Joined: Nov 6, 2013
    Messages: 3950
    Offline
    The classpath for the Tomcat jdbc connection pool implementation (in Tomcat itself not OD) has changed from version 7 to 8. If you had imported your app to an OD environment that supports Tomcat 8.5 and exported with the Tomcat 8.5 selection, you would have seen the change in the context.xml. Basically, you would see a change like this:

    In Tomcat 7, the context.xml shows:
    org.apache.tomcat.dbcp.dbcp.cpdsadapter.DriverAdapterCPDS

    In Tomcat 8, the context.xml shows:
    org.apache.tomcat.dbcp.dbcp2.cpdsadapter.DriverAdapterCPDS


    You can manually change all the "org.apache.tomcat.dbcp.dbcp" to "org.apache.tomcat.dbcp.dbcp2 in the context.xml or you can let OD do it by making sure you select Tomcat 8 as app server when you export the app for deployment.
    Mahvenk
    Joined: Aug 21, 2015
    Messages: 15
    Offline
    Hi Wil ,

    Thanks a lot for the help , that fixed the issue.

    Take Care.
    Go to:   
    Mobile view