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:sysa...@atlow.tdhca.state.tx.us: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 <p...@pidster.com>
To: Tomcat Users List <users@tomcat.apache.org>
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 <p...@pidster.com>
>> To: Tomcat Users List <users@tomcat.apache.org>
>> 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: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
> 

Reply via email to