You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2002/04/15 10:14:38 UTC

DO NOT REPLY [Bug 8091] New: - JDBCRealm makes Tomcat unusable if the database is unavailable when Tomcat starts

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8091>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8091

JDBCRealm makes Tomcat unusable if the database is unavailable when Tomcat starts

           Summary: JDBCRealm makes Tomcat unusable if the database is
                    unavailable when Tomcat starts
           Product: Tomcat 4
           Version: 4.0.3 Final
          Platform: PC
        OS/Version: Windows NT/2K
            Status: NEW
          Severity: Critical
          Priority: Other
         Component: Catalina
        AssignedTo: tomcat-dev@jakarta.apache.org
        ReportedBy: slawomir_zachcial@hp.com


Hi,

I use Tomcat 4.0.3, NT/win2k, JDK 1.3.1_01, Oracle 8.1.6. I declared JDBCRealm 
(see config file below). If the database is down when Tomcat starts I get a 
LifecycleException (see stack trace below). After that, Tomcat accepts incoming 
HTTP connections but never sends any response - a kind of "zombie" state.
FYI: I have two applications - one standard web app using servlet declarative 
security with form-based login and WebDav servlet using servlet security with 
Basic authentication.

Best Regards,
Slawek Zachcial

*** exception stack trace ***

Using CATALINA_BASE:   d:\opt\servers\jakarta-tomcat-4.0.3
Using CATALINA_HOME:   d:\opt\servers\jakarta-tomcat-4.0.3
Using CATALINA_TMPDIR: d:\opt\servers\jakarta-tomcat-4.0.3\temp
Using JAVA_HOME:       d:\opt\java\j2se\1.3.1_01
Starting service Tomcat-Standalone
Apache Tomcat/4.0.3
Catalina.start: LifecycleException:  Exception opening database connection:  
java.sql.SQLException:
Exception d'E/S: The Network Adapter could not establish the connection
LifecycleException:  Exception opening database connection:  
java.sql.SQLException: Exception d'E/S:
 The Network Adapter could not establish the connection
        at org.apache.catalina.realm.JDBCRealm.start(JDBCRealm.java:615)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1108)
        at org.apache.catalina.core.StandardEngine.start
(StandardEngine.java:343)
        at org.apache.catalina.core.StandardService.start
(StandardService.java:388)
        at org.apache.catalina.core.StandardServer.start
(StandardServer.java:506)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:781)
        at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
        at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
        at java.lang.reflect.Method.invoke(Native Method)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
----- Root Cause -----
java.sql.SQLException: Exception d'E/S: The Network Adapter could not establish 
the connection
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:156)
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
        at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:210)
        at oracle.jdbc.driver.OracleDriver.getConnectionInstance
(OracleDriver.java:251)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:224)
        at org.apache.catalina.realm.JDBCRealm.open(JDBCRealm.java:548)
        at org.apache.catalina.realm.JDBCRealm.start(JDBCRealm.java:613)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1108)
        at org.apache.catalina.core.StandardEngine.start
(StandardEngine.java:343)
        at org.apache.catalina.core.StandardService.start
(StandardService.java:388)
        at org.apache.catalina.core.StandardServer.start
(StandardServer.java:506)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:781)
        at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
        at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
        at java.lang.reflect.Method.invoke(Native Method)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)

*** server.xml ***

<Server port="8005" shutdown="SHUTDOWN" debug="0">

  <Service name="Tomcat-Standalone">


    <Connector className="org.apache.catalina.connector.http.HttpConnector"
               port="8080" minProcessors="5" maxProcessors="75"
               enableLookups="true" redirectPort="8443"
               acceptCount="10" debug="5" connectionTimeout="60000"/>

    <Engine name="Standalone" defaultHost="localhost" debug="0">

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


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

      <Realm  className="org.apache.catalina.realm.JDBCRealm" debug="99"
              driverName="oracle.jdbc.driver.OracleDriver"
              connectionName="clmmdev"
              connectionPassword="clmmdev"
              connectionURL="jdbc:oracle:thin:@localhost:1521:oradev"
              userTable="clmm_user" 
              userNameCol="user_name" 
              userCredCol="password"
              userRoleTable="clmm_user_role" 
              roleNameCol="role_name" />

      <Host name="localhost" debug="0" appBase="webapps" unpackWARs="true">

        <Valve className="org.apache.catalina.valves.AccessLogValve"
                 directory="logs"  prefix="localhost_access_log." suffix=".txt"
                 pattern="common"/>

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


        <Context path="/manager" docBase="manager" 
         debug="0" privileged="true"/>

        <Context path="/tomcat" 
                 docBase="d:/opt/servers/jakarta-tomcat-4.0.1/webapps/tomcat-
docs" 
                 reloadable="false" />

        <Context path="/security"
                 docBase="d:/home/slawek/dev/servlet-security"
                 reloadable="true" />


        <Context path="" 
                 docBase="d:/home/hp/projects/clm-metrics/build/clm-
metrics/website"
                 reloadable="true"
                 useNaming="false">
        </Context>
        
        <Context path="/clmm-web-dir"
                 docBase="d:/home/hp/projects/clm-metrics/build/clm-metrics"
                 reloadable="true" />

      </Host>

    </Engine>

  </Service>

</Server>

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>