Here is the Server.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Server>
<Listener className="org.apache.catalina.core.AprLifecycleListener"/>
<Listener
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
<Listener
className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
<GlobalNamingResources>
<Environment name="envName" type="java.lang.String" value="DEV"/>
<Environment name="cseaPropertiesFile" type="java.lang.String"
value="C:\\jakarta-tomcat-4.1.24\\webapps\\csea\\WEB-INF\\csea.properties"/>
<Environment name="contractPropertiesFile" type="java.lang.String"
value="C:\\eclipseWorkspace\\contract\\conf\\contract.properties"/>
<Environment name="liarRealm" value="tdhca.liar.ReniRealm"
type="java.lang.String"/>
<Environment name="tdhca.liar.useDomain" value="false"
type="java.lang.String" />
<Environment name="tdhca.liar.hashSalt"
value="23049mdx903lzd93jag9845a0gjsscvm" type="java.lang.String"/>
<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"
pathname="conf/tomcat-users.xml"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"/>
<Resource
name="jdbc/xxxx"
type="javax.sql.DataSource"
password="xxxx"
driverClassName="oracle.jdbc.driver.OracleDriver"
maxIdle="20"
maxWait="5000"
validationQuery="select 1 from dual"
username="sysadm2"
url="jdbc:oracle:thin:@atlow.tdhca.state.tx.us:1521:dev"
maxActive="10"/>
</GlobalNamingResources>
<Service
name="Catalina">
<Connector
port="8080"
redirectPort="8443"
minSpareThreads="25"
connectionTimeout="20000"
maxThreads="150"
maxSpareThreads="75">
</Connector>
<Connector
port="8009"
redirectPort="8443"
protocol="AJP/1.3">
</Connector>
<Engine
defaultHost="localhost"
name="Catalina">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
<Host
name="localhost">
</Host>
</Engine>
</Service>
</Server>
I am now getting
javax.servlet.ServletException: Cannot get a db connection
tdhca.maverick.Dispatcher.init(Dispatcher.java:353)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
java.lang.Thread.run(Thread.java:595)
root cause
java.lang.RuntimeException: Cannot get a db connection
tdhca.torque.CurrentConnection.getConnection(CurrentConnection.java:42)
tdhca.maverick.Dispatcher.initTorque(Dispatcher.java:376)
tdhca.maverick.Dispatcher.init(Dispatcher.java:308)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
java.lang.Thread.run(Thread.java:595)
root cause
org.apache.torque.TorqueException:
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of
class '' for connect URL 'null'
org.apache.torque.TorqueInstance.getConnection(TorqueInstance.java:919)
org.apache.torque.TorqueInstance.getConnection(TorqueInstance.java:891)
org.apache.torque.Torque.getConnection(Torque.java:300)
tdhca.torque.CurrentConnection.getConnection(CurrentConnection.java:32)
tdhca.maverick.Dispatcher.initTorque(Dispatcher.java:376)
tdhca.maverick.Dispatcher.init(Dispatcher.java:308)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
java.lang.Thread.run(Thread.java:595)
root cause
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of
class '' for connect URL 'null'
org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1150)
org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
org.apache.torque.TorqueInstance.getConnection(TorqueInstance.java:912)
org.apache.torque.TorqueInstance.getConnection(TorqueInstance.java:891)
org.apache.torque.Torque.getConnection(Torque.java:300)
tdhca.torque.CurrentConnection.getConnection(CurrentConnection.java:32)
tdhca.maverick.Dispatcher.initTorque(Dispatcher.java:376)
tdhca.maverick.Dispatcher.init(Dispatcher.java:308)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
java.lang.Thread.run(Thread.java:595)
root cause
java.sql.SQLException: No suitable driver
java.sql.DriverManager.getDriver(DriverManager.java:243)
org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1143)
org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
org.apache.torque.TorqueInstance.getConnection(TorqueInstance.java:912)
org.apache.torque.TorqueInstance.getConnection(TorqueInstance.java:891)
org.apache.torque.Torque.getConnection(Torque.java:300)
tdhca.torque.CurrentConnection.getConnection(CurrentConnection.java:32)
tdhca.maverick.Dispatcher.initTorque(Dispatcher.java:376)
tdhca.maverick.Dispatcher.init(Dispatcher.java:308)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
But I was getting a database connection before. Here is my context.xml file:
<?xml version="1.0" encoding="UTF-8"?>
<Context reloadable="true" crossContext="true">
<Resource name="jdbc/cmts" auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:[email protected]:1521:dev"
username="sysadm2" password="temp" maxActive="20" maxIdle="10"
maxWait="-1"/>
</Context>
Thanks for your help.
Angela Day
National Autism Association of Central Texas
http://www.naacentraltexas.org
________________________________
From: Pid <[email protected]>
To: Tomcat Users List <[email protected]>
Sent: Mon, May 3, 2010 11:36:12 AM
Subject: Re: one path working, one not
On 03/05/2010 16:55, André Warnier wrote:
> Angela Day wrote:
>> Sorry for just getting back to this problem. I had to go out of
>> town. Nothing is in the logs. It just goes straight to 404 without
>> hitting any code or erroring to the logs. Below is what is in
>> server.xml. I also added the respective contexts to context.xml under
>> META-INF. Still the same error
>>
> Without being a great specialist of that kind of thing, it looks like
> you have your context (webapp) "csea" listed in BOTH a <Context> element
> in server.xml, AND in a context.xml file in the META-INF subdirectory.
> I think it is supposed to be either/or, with the one in server.xml
> strongly discouraged nowadays.
This is correct.
>> server.xml
>>
>> <Host
>> name="localhost">
The following will apply to all of the Context definitions below.
Remove the Context definition from server.xml and place it in
aims2/META-INF/context.xml
the name of the dir (in this case 'aims2') will be the path it's
available under.
<Context reloadable="true" crossContext="true">
...
</Context>
'debug' isn't used anymore, 'path' is illegal outside of server.xml, and
'docBase' is unnecessary here.
Below, you have listed links to global resources, please post the
complete list of those definitions, remove any actual passwords of course.
It might not suit you, but most of those could be placed in the
following file instead of repeating them, and will be available to every
Context as a result.
path/to/tomcat/conf/context.xml
I suggest an approach the problem at this point might be to deploy one
app at a time, check it starts up, then move onto the next one.
This way we'd only have one to deal with at a time.
p
>> <Context path="/aims2" docBase="aims2" debug="0" reloadable="true"
>> crossContext="true">
>> <ResourceLink name="liarRealm" global="liarRealm"/>
>> <ResourceLink name="tdhca.liar.useDomain"
>> global="tdhca.liar.useDomain"/>
>> <ResourceLink name="tdhca.liar.hashSalt"
>> global="tdhca.liar.hashSalt"/>
>> <ResourceLink name="cmts-url" global="cmts-url"/>
>> <ResourceLink name="cdb-url" global="cdb-url"/>
>> <ResourceLink name="csea-url" global="csea-url"/>
>> <ResourceLink name="pm-url" global="pm-url"/>
>> <ResourceLink name="jdbc/cmts" global="jdbc/cmts"/>
>> <Environment name="serverName" type="java.lang.String"
>> value="cmts"/>
>> <ResourceLink name="envName" global="envName"/>
>> </Context>
>> <Context path="/base" docBase="base" debug="0" reloadable="true"
>> crossContext="true">
>> <ResourceLink name="liarRealm" global="liarRealm"/>
>> <ResourceLink name="tdhca.liar.useDomain"
>> global="tdhca.liar.useDomain"/>
>> <ResourceLink name="tdhca.liar.hashSalt"
>> global="tdhca.liar.hashSalt"/>
>> <ResourceLink name="cmts-url" global="cmts-url"/>
>> <ResourceLink name="cdb-url" global="cdb-url"/>
>> <ResourceLink name="pm-url" global="pm-url"/>
>> <ResourceLink name="jdbc/cmts" global="jdbc/cmts"/>
>> <Environment name="serverName" type="java.lang.String"
>> value="cmts"/>
>> <ResourceLink name="envName" global="envName"/>
>> </Context>
>>
>> <Context path="/mhweb" docBase="mhweb" debug="0" reloadable="true"
>> crossContext="true">
>> <ResourceLink name="dbinstance" global="dbinstance"/>
>> <ResourceLink name="password" global="password"/>
>> <ResourceLink name="mhweb-url" global="mhweb-url"/>
>> <ResourceLink name="envName" global="envName"/>
>> <Environment name="serverName" type="java.lang.String"
>> value="mhweb"/>
>> </Context>
>> <!--
>> <Context path="/helloworld" docBase="helloworld" debug="0"
>> reloadable="true" crossContext="true">
>> <ResourceLink name="liarRealm" global="liarRealm"/>
>> <ResourceLink name="tdhca.liar.useDomain"
>> global="tdhca.liar.useDomain"/>
>> <ResourceLink name="tdhca.liar.hashSalt"
>> global="tdhca.liar.hashSalt"/>
>> <ResourceLink name="cmts-url" global="cmts-url"/>
>> <ResourceLink name="cdb-url" global="cdb-url"/>
>> <ResourceLink name="pm-url" global="pm-url"/>
>> <ResourceLink name="jdbc/cmts" global="jdbc/cmts"/>
>> <Environment name="serverName" type="java.lang.String"
>> value="cmts"/>
>> <ResourceLink name="envName" global="envName"/>
>> </Context>
>> -->
>> <Context path="/csea" docBase="csea" reloadable="true" >
>> <ResourceLink name="liarRealm" global="liarRealm"/>
>> <ResourceLink name="tdhca.liar.useDomain"
>> global="tdhca.liar.useDomain"/>
>> <ResourceLink name="tdhca.liar.hashSalt"
>> global="tdhca.liar.hashSalt"/>
>> <ResourceLink name="cmts-url" global="cmts-url"/>
>> <ResourceLink name="cdb-url" global="cdb-url"/>
>> <ResourceLink name="pm-url" global="pm-url"/>
>> <ResourceLink name="jdbc/cdb" global="jdbc/cmts"/>
>> <Environment name="serverName" type="java.lang.String"
>> value="cmts"/>
>> <ResourceLink name="envName" global="envName"/>
>> <ResourceLink name="cseaPropertiesFile"
>> global="cseaPropertiesFile"/>
>> </Context>
>>
>> <Context path="/alligator" docBase="alligator" reloadable="true">
>> <ResourceLink name="liarRealm" global="liarRealm"/>
>> <ResourceLink name="tdhca.liar.useDomain" global="tdhca.liar.useDomain"/>
>> <ResourceLink name="tdhca.liar.hashSalt" global="tdhca.liar.hashSalt"/>
>> <ResourceLink name="cmts-url" global="cmts-url"/>
>> <ResourceLink name="mf-url" global="mf-url"/>
>> <ResourceLink name="cdb-url" global="cdb-url"/>
>> <ResourceLink name="csea-url" global="csea-url"/>
>> <ResourceLink name="jdbc/cdb" global="jdbc/cmts"/>
>> <Environment name="serverName" type="java.lang.String" value="contract"/>
>> <ResourceLink name="envName" global="envName"/>
>> <ResourceLink name="contractPropertiesFile"
>> global="contractPropertiesFile"/>
>> </Context>
>>
>> <Context path="/hrc" docBase="hrc" debug="0" reloadable="true"
>> crossContext="true">
>> <ResourceLink name="liarRealm" global="liarRealm"/>
>> <ResourceLink name="tdhca.liar.useDomain"
>> global="tdhca.liar.useDomain"/>
>> <ResourceLink name="tdhca.liar.hashSalt"
>> global="tdhca.liar.hashSalt"/>
>> <ResourceLink name="cmts-url" global="cmts-url"/>
>> <ResourceLink name="cdb-url" global="cdb-url"/>
>> <ResourceLink name="jdbc/cmts" global="jdbc/cmts"/>
>> <Environment name="serverName" type="java.lang.String"
>> value="hrc"/>
>> <ResourceLink name="envName" global="envName"/>
>> </Context>
>>
>> </Host>
>>
>>
>> context.xml example under webapps/csea/META-INF/context.xml
>>
>> <Context path="/csea" docBase="csea" reloadable="true" >
>> <ResourceLink name="liarRealm" global="liarRealm"/>
>> <ResourceLink name="tdhca.liar.useDomain"
>> global="tdhca.liar.useDomain"/>
>> <ResourceLink name="tdhca.liar.hashSalt"
>> global="tdhca.liar.hashSalt"/>
>> <ResourceLink name="cmts-url" global="cmts-url"/>
>> <ResourceLink name="cdb-url" global="cdb-url"/>
>> <ResourceLink name="pm-url" global="pm-url"/>
>> <ResourceLink name="jdbc/cdb" global="jdbc/cmts"/>
>> <Environment name="serverName" type="java.lang.String"
>> value="cmts"/>
>> <ResourceLink name="envName" global="envName"/>
>> <ResourceLink name="cseaPropertiesFile"
>> global="cseaPropertiesFile"/>
>> </Context>
>>
>> Thanks for any help you can give.
>>
>>
>> Angela Day
>> National Autism Association of Central Texas
>>
>> http://www.naacentraltexas.org
>>
>>
>>
>>
>>
>> ________________________________
>> From: Pid <[email protected]>
>> To: Tomcat Users List <[email protected]>
>> Sent: Wed, April 28, 2010 3:05:17 AM
>> Subject: Re: one path working, one not
>>
>> On 27/04/2010 23:50, Angela Day wrote:
>>>
>>> I have one path working, and the other not working
>>>
>>> Http Status 404 - /csea/Login.m
>>>
>>> type Status report
>>> message /csea/Login.m
>>> description The requested resource (/csea/Login.m) is not available.
>>> ________________________________
>>>
>>> They are both defined on the same tomcat 5.5.28 server
>>
>> Are there any messages in the logs during deployment?
>>
>> Please post them.
>>
>> Can you post the Host definition too?
>>
>> The preferred method for deployment in 5.5 onwards is to put the Context
>> definition in myapp/META-INF/context.xml. Tomcat will take care of the
>> deployment, and the app path is defined by the directory name.
>>
>> Defining Context in server.xml is now discouraged, especially for
>> 'normal' deployments like the one below.
>>
>> If your apps are deployed:
>>
>> /path/to/tomcat/webapps/csea
>> /path/to/tomcat/webapps/alligator
>>
>> The the config files should be:
>>
>> /path/to/tomcat/webapps/csea/... etc
>> /path/to/tomcat/webapps/csea/WEB-INF/web.xml
>> /path/to/tomcat/webapps/csea/META-INF/context.xml
>>
>> /path/to/tomcat/webapps/alligator/... etc
>> /path/to/tomcat/webapps/alligator/WEB-INF/web.xml
>> /path/to/tomcat/webapps/alligator/META-INF/context.xml
>>
>>
>>
>> p
>>
>>> server.xml
>>>
>>> <Context path="/csea" docBase="csea" reloadable="true" >
>>> <ResourceLink name="liarRealm" global="liarRealm"/>
>>> <ResourceLink name="tdhca.liar.useDomain"
>>> global="tdhca.liar.useDomain"/>
>>> <ResourceLink name="tdhca.liar.hashSalt"
>>> global="tdhca.liar.hashSalt"/>
>>> <ResourceLink name="cmts-url" global="cmts-url"/>
>>> <ResourceLink name="cdb-url" global="cdb-url"/>
>>> <ResourceLink name="pm-url" global="pm-url"/>
>>> <ResourceLink name="jdbc/cdb" global="jdbc/cmts"/>
>>> <Environment name="serverName" type="java.lang.String"
>>> value="cmts"/>
>>> <ResourceLink name="envName" global="envName"/>
>>> <ResourceLink name="cseaPropertiesFile"
>>> global="cseaPropertiesFile"/>
>>> </Context>
>>>
>>> <Context path="/alligator" docBase="alligator" reloadable="true">
>>> <ResourceLink name="liarRealm" global="liarRealm"/>
>>> <ResourceLink name="tdhca.liar.useDomain"
>>> global="tdhca.liar.useDomain"/>
>>> <ResourceLink name="tdhca.liar.hashSalt" global="tdhca.liar.hashSalt"/>
>>> <ResourceLink name="cmts-url" global="cmts-url"/>
>>> <ResourceLink name="mf-url" global="mf-url"/>
>>> <ResourceLink name="cdb-url" global="cdb-url"/>
>>> <ResourceLink name="csea-url" global="csea-url"/>
>>> <ResourceLink name="jdbc/cdb" global="jdbc/cmts"/>
>>> <Environment name="serverName" type="java.lang.String"
>>> value="contract"/>
>>> <ResourceLink name="envName" global="envName"/>
>>> <ResourceLink name="contractPropertiesFile"
>>> global="contractPropertiesFile"/>
>>> </Context>
>>>
>>>
>>> alligator work great, csea does not. I cannot see any differences.
>>> What am I missing?
>>>
>>> Thanks for your help.
>>>
>>> Angela
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>