All,

So we have various tomcat services setup on windows. When windows updates
are auto installed, sometimes they force a reboot of the server. When this
happens, the tomcats win the race with the database (Oracle) to startup.
Then the connection pool can't start, and then the war file is flagged as
shutdown. We have tried to make the tomcat services dependent on the oracle
service (both db service and tns listener), but same happens. Just tried to
turn the connection pool initial size down to zero, but the app fetches some
config at startup. I guess we could recode to lazily fetch this upon first
access. Just curious if anyone has hit this, and if there is a way to delay
the tomcat service startup.

Tomcat 7.0.12
Windows server 2008 r2 64 bit

>java -version
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02, mixed mode)

We have connection pool setup in catalina_base\conf\context.xml

    <Resource name="jdbc/xts"
            auth="Container"
            type="javax.sql.DataSource"
            username="username"
            password="password"
            driverClassName="oracle.jdbc.OracleDriver"
            url="jdbc:oracle:thin:@localhost:1521:xe"
            maxActive="20"
            maxIdle="2"
            minIdle="1"
            initialSize="2"
            />


27-Apr-2011 19:48:22 org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
27-Apr-2011 19:48:31 org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring FrameworkServlet 'dispatcher'
27-Apr-2011 20:21:22 org.apache.catalina.core.ApplicationContext log
INFO: Destroying Spring FrameworkServlet 'dispatcher'
27-Apr-2011 20:21:22 org.apache.catalina.core.ApplicationContext log
INFO: Closing Spring root WebApplicationContext
27-Apr-2011 20:21:22 org.apache.catalina.core.ApplicationContext log
INFO: Shutting down log4j
27-Apr-2011 20:25:36 org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of
class liquibase.integration.servlet.LiquibaseServletListener
java.lang.RuntimeException: javax.naming.NamingException: Cannot create
PoolableConnectionFactory (ORA-01033: ORACLE initialization or shutdown in
progress
)
    at
liquibase.integration.servlet.LiquibaseServletListener.contextInitialized(LiquibaseServletListener.java:159)
    at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4701)
    at
org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5204)
    at
org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5199)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
Caused by: javax.naming.NamingException: Cannot create
PoolableConnectionFactory (ORA-01033: ORACLE initialization or shutdown in
progress
)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:843)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:145)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:814)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:145)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:814)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:145)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:814)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:159)
    at org.apache.naming.SelectorContext.lookup(SelectorContext.java:158)
    at javax.naming.InitialContext.lookup(InitialContext.java:392)

Thanks

Chris

Reply via email to