tomcat config problem using SunCreator2-update(1) generated app

I have just completed updating a web app using SunCreator2-update(1)

My previous version of the app using SunCreator2 works fine in both the SunCreator2 environment and in tomcat 5.5.9

The mysql database access works fine in the updated app within the SunCreator2-update(1) environment.

However, when I try to run the updated app under tomcat using the identical tomcat config as the orginial app with the same mySQL driver I get:

SEVERE: org.apache.jasper.JasperException: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'

javax.faces.FacesException: org.apache.jasper.JasperException: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'

at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:327 )

at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)

at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.renderView(ViewHandlerImpl.ja va:311)

at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87 )

at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:221)

at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFil terChain.java:252)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain .java:173)

at com.sun.rave.web.ui.util.UploadFilter.doFilter(UploadFilter.java:194)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFil terChain.java:202)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain .java:173)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 213)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 178)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:10 7)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnecti on(Http11Protocol.java:744)

at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:5 27)

at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorke rThread.java:80)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:6 84)

at java.lang.Thread.run(Thread.java:595)

Caused by: org.apache.jasper.JasperException: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'

at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370)

at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)

at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFil terChain.java:252)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain .java:173)

at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.jav a:672)

at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispat cher.java:463)

at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher. java:398)

at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.ja va:301)

at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322 )

Does anyone have an idea of what could be going on here?

[4206 byte] By [rh134] at [2007-11-26 8:34:19]
# 1

Hi,

i got the same error message when i had configured the server.xml file i a wrong way.

This server.xml works for me, note the Contexte element (<Context docBase="testUserManager" path="/testUserManager">):

<?xml version='1.0' encoding='utf-8'?>

<Server>

<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>

<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>

<GlobalNamingResources>

<Environment name="simpleValue" type="java.lang.Integer" value="30"/>

<Resource auth="Container" description="User database that can be updated and saved" name="UserDatabase" type="org.apache.catalina.UserDatabase"/>

<Resource auth="Container" name="jdbc/testJSC" type="javax.sql.DataSource"/>

<ResourceParams name="UserDatabase">

<parameter>

<name>factory</name>

<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>

</parameter>

<parameter>

<name>pathname</name>

<value>conf/tomcat-users.xml</value>

</parameter>

</ResourceParams>

<ResourceParams name="jdbc/testJSC">

<parameter>

<name>factory</name>

<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>

</parameter>

<parameter>

<name>maxWait</name>

<value>-1</value>

</parameter>

<parameter>

<name>maxActive</name>

<value>20</value>

</parameter>

<parameter>

<name>password</name>

<value>xxxx</value>

</parameter>

<parameter>

<name>url</name>

<value>jdbc:sybase:Tds:localhost:4154/INVENTORY</value>

</parameter>

<parameter>

<name>driverClassName</name>

<value>com.sybase.jdbc3.jdbc.SybDriver</value>

</parameter>

<parameter>

<name>maxIdle</name>

<value>10</value>

</parameter>

<parameter>

<name>username</name>

<value>xxuser</value>

</parameter>

</ResourceParams>

</GlobalNamingResources>

<Service name="Catalina">

<Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" port="8383" redirectPort="8443" maxSpareThreads="75" maxThreads="150" minSpareThreads="25">

</Connector>

<Connector port="8009" protocol="AJP/1.3" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" redirectPort="8443">

</Connector>

<Engine defaultHost="localhost" name="Catalina">

<Host appBase="webapps" name="localhost">

<Context docBase="testUserManager" path="/testUserManager">

<ResourceLink name="jdbc/testJSC" global="jdbc/testJSC" type="javax.sql.DataSource"/>

</Context>

<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_log." suffix=".txt" timestamp="true"/>

</Host>

<Logger className="org.apache.catalina.logger.FileLogger" prefix="catalina_log." suffix=".txt" timestamp="true"/>

<Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>

</Engine>

</Service>

</Server>

/Regards Krister

krister16 at 2007-7-6 22:01:26 > top of Java-index,Development Tools,Java Tools...
# 2

Thanks for the reply.

However, it must be something else. I have:

<Context path="/jweb" docBase="jweb"

debug="5" reloadable="true" crossContext="true">

<Resource name="jdbc/jwebeduo_jweb1" auth="Container" type="javax.sql.DataSource"

maxActive="100" maxIdle="30" maxWait="10000"

username="myusername" password="password" driverClassName="com.mysql.jdbc.Driver"

url="jdbc:mysql://localhost:3306/rhillego_jweb1?autoReconnect=true"/>

</Context>

rh134 at 2007-7-6 22:01:26 > top of Java-index,Development Tools,Java Tools...
# 3

Problem Solved.

It turns out that the problem is a more general tomcat problem related to the fact that I am moving my sie running tomcat to a VPN. It seems that tomcat is not functioning properly under this particular VPN. I have since run the above code locally under tomcat--it work fine.

rh134 at 2007-7-6 22:01:26 > top of Java-index,Development Tools,Java Tools...