Java Mailing List Archive

http://www.junlu.com/

Home » Home (12/2007) » Tomcat Users »

Lock on database file not being released...

Chaikin, Yaakov Y (US SSA)

2003-12-07

Replies:

Hi,

I am having a problem where the lock on the database is not being
released. I am using database connection pooling and I am just running a
test app and certainly DO close my connections. I double checked that
the code that closes the connection is being called and it is.

What other things can I check or might be doing wrong?

I am using the M$ Access as the database and the odbc bridge driver to
get to it.

When I shut down the server I would expect that the database pooling
releases all its connections. It does look like it though, since I still
still the databaseName.ldb file in that directory (MS Access way of lock
the database file).

I know that Sun says that it is not production level driver. However, I
have used this driver before in a standalone app and when you close a
connection, it certainly does release the lock on the database file.
This leads me to believe that it's NOT the driver problem, but my
configuration problem.

I am attaching the server.xml file just in case that would help in
solving the problem.

I would really appreciate any help.

Thank you.

Yaakov Chaikin
Software Engineer
BAE SYSTEMS
301-838-6899 (phone)
301-838-6802 (fax)
yaakov.y.chaikin@(protected)


<?xml version='1.0' encoding='utf-8'?>
<Server className="org.apache.catalina.core.StandardServer" debug="99"
 port="8005" shutdown="SHUTDOWN">
 <Logger className="org.apache.catalina.logger.FileLogger"
           debug="0" directory="logs"
           prefix="localhost_afecWEB_log."
           suffix=".txt"
           timestamp="true"
           verbosity="99"/>
 <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
   debug="0" jsr77Names="false"/>
 <Listener
   className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
   debug="0"/>
 <GlobalNamingResources>
   <Logger className="org.apache.catalina.logger.FileLogger"
           debug="0" directory="logs"
           prefix="resource_afecWEB_log."
           suffix=".txt"
           timestamp="true"
           verbosity="99"/>
   <Environment name="simpleValue" override="true" type="java.lang.Integer"
     value="30"/>
   <Resource auth="Container"
     description="User database that can be updated and saved"
     name="UserDatabase" scope="Shareable"
     type="org.apache.catalina.UserDatabase"/>
   <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>
   
   <Resource name="UserDatabase" auth="Container"
     type="org.apache.catalina.UserDatabase"
     description="User database that can be updated and saved">
   </Resource>
   <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>

   
   <!--*** BEGIN Physical AFEC database configuration **-->
   <Resource
     name="afec/web/database"
     auth="Container"
     description="AFEC database; stores info about documents, login"
     type="javax.sql.DataSource"
     scope="Shareable"/>
   <ResourceParams name="afec/web/database">
     <parameter>
       <name>factory</name>
       <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
     </parameter>
     <parameter>
         <name>maxActive</name>
       <value>10</value>
     </parameter>
     <parameter>
       <name>maxIdle</name>
       <value>5</value>
     </parameter>
     <parameter>
       <name>maxWait</name>
       <value>10000</value>
     </parameter>
     <parameter>
       <name>driverClassName</name>
       <value>sun.jdbc.odbc.JdbcOdbcDriver</value>
     </parameter>
     <parameter>
       <name>url</name>
       <value>jdbc:odbc:afec</value>
     </parameter>
     <parameter>
       <name>username</name>
       <value>default</value>
     </parameter>
     <parameter>
       <name>password</name>
       <value>afecrelease2003</value>
     </parameter>
     <parameter>
       <name>removeAbandoned</name>
       <value>true</value>
       </parameter>
       <parameter>
       <name>removeAbandonedTimeout</name>
       <value>60</value>
       </parameter>
       <parameter>
       <name>logAbandoned</name>
       <value>true</value>
       </parameter>
       
     
   </ResourceParams>
   
 </GlobalNamingResources>
 
 <Service className="org.apache.catalina.core.StandardService" debug="0"
   name="Tomcat-Standalone">
   <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
     acceptCount="100" bufferSize="2048" compression="off"
     connectionLinger="-1" connectionTimeout="20000" debug="0"
     disableUploadTimeout="true" enableLookups="true"
     maxKeepAliveRequests="100" maxProcessors="75" minProcessors="5"
     port="80"
     protocolHandlerClassName="org.apache.coyote.http11.Http11Protocol"
     proxyPort="0" redirectPort="8443" scheme="http" secure="false"
     tcpNoDelay="true" useURIValidationHack="false">
     <Factory
       className="org.apache.catalina.net.DefaultServerSocketFactory"/>
   </Connector>
   <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
     acceptCount="10" bufferSize="2048" compression="off"
     connectionLinger="-1" connectionTimeout="0" debug="0"
     disableUploadTimeout="false" enableLookups="true"
     maxKeepAliveRequests="100" maxProcessors="75" minProcessors="5"
     port="8009"
     protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"
     proxyPort="0" redirectPort="8443" scheme="http" secure="false"
     tcpNoDelay="true" useURIValidationHack="false">
     <Factory
       className="org.apache.catalina.net.DefaultServerSocketFactory"/>
   </Connector>
   <Engine className="org.apache.catalina.core.StandardEngine" debug="0"
     defaultHost="localhost"
     mapperClass="org.apache.catalina.core.StandardEngineMapper"
     name="Standalone">
     <Host className="org.apache.catalina.core.StandardHost"
       appBase="webapps"
       autoDeploy="true"
       configClass="org.apache.catalina.startup.ContextConfig"
       contextClass="org.apache.catalina.core.StandardContext"
       debug="0"
       deployXML="true"
       errorReportValveClass="org.apache.catalina.valves.ErrorReportValve"
       liveDeploy="true"
       mapperClass="org.apache.catalina.core.StandardHostMapper"
       name="localhost"
       unpackWARs="false">
       <Context className="org.apache.catalina.core.StandardContext"
         cachingAllowed="true"
         charsetMapperClass="org.apache.catalina.util.CharsetMapper"
         cookies="true" crossContext="true" debug="0"
         displayName="Tomcat Administration Application"
         docBase="../server/webapps/admin"
         mapperClass="org.apache.catalina.core.StandardContextMapper"
         path="/admin" privileged="true" reloadable="true"
         swallowOutput="false" useNaming="true"
         wrapperClass="org.apache.catalina.core.StandardWrapper">
         <Logger className="org.apache.catalina.logger.FileLogger"
           debug="0" directory="logs" prefix="localhost_admin_log."
           suffix=".txt" timestamp="true" verbosity="1"/>
       </Context>
       <Context className="org.apache.catalina.core.StandardContext"
         cachingAllowed="true"
         charsetMapperClass="org.apache.catalina.util.CharsetMapper"
         cookies="true" crossContext="true" debug="0"
         displayName="Webdav Content Management"
         docBase="..\webapps\webdav"
         mapperClass="org.apache.catalina.core.StandardContextMapper"
         path="/webdav" privileged="false" reloadable="true"
         swallowOutput="false" useNaming="true"
         wrapperClass="org.apache.catalina.core.StandardWrapper">
       </Context>
       
       <!--*** BEGIN AFECWEB Context ***-->
       <Context className="org.apache.catalina.core.StandardContext"
         cachingAllowed="true"
         charsetMapperClass="org.apache.catalina.util.CharsetMapper"
         cookies="true"
         crossContext="true"
         debug="0"
         displayName="AFECWEB"
         docBase="c:/corej2ee/stage/wls/afecWebApp/afecWEB.war"
         mapperClass="org.apache.catalina.core.StandardContextMapper"
         path="/afecWEB"
         privileged="false"
         reloadable="true"
         swallowOutput="false"
         useNaming="true"
         wrapperClass="org.apache.catalina.core.StandardWrapper">
         <Logger className="org.apache.catalina.logger.FileLogger"
           debug="0" directory="logs"
           prefix="localhost_afecWEB_log."
           suffix=".txt"
           timestamp="true"
           verbosity="99"/>
         <ResourceLink global="afec/web/database" name="jdbc/afecWEBDB" type="javax.sql.DataSource"/>

       </Context>
       <!--*** END AFECWEB Context ***-->
   
       <Context className="org.apache.catalina.core.StandardContext"
         cachingAllowed="true"
         charsetMapperClass="org.apache.catalina.util.CharsetMapper"
         cookies="true" crossContext="true" debug="0"
         displayName="Tomcat Documentation"
         docBase="..\webapps\tomcat-docs"
         mapperClass="org.apache.catalina.core.StandardContextMapper"
         path="/tomcat-docs" privileged="false" reloadable="true"
         swallowOutput="false" useNaming="true"
         wrapperClass="org.apache.catalina.core.StandardWrapper">
       </Context>
       <Context className="org.apache.catalina.core.StandardContext"
         cachingAllowed="true"
         charsetMapperClass="org.apache.catalina.util.CharsetMapper"
         cookies="true" crossContext="true" debug="0"
         displayName="Welcome to Tomcat" docBase="ROOT"
         mapperClass="org.apache.catalina.core.StandardContextMapper"
         path="" privileged="false" reloadable="true"
         swallowOutput="false" useNaming="true"
         wrapperClass="org.apache.catalina.core.StandardWrapper">
       </Context>
       <Context className="org.apache.catalina.core.StandardContext"
         cachingAllowed="true"
         charsetMapperClass="org.apache.catalina.util.CharsetMapper"
         cookies="true" crossContext="true" debug="0"
         displayName="Tomcat Manager Application"
         docBase="../server/webapps/manager"
         mapperClass="org.apache.catalina.core.StandardContextMapper"
         path="/manager" privileged="true" reloadable="true"
         swallowOutput="false" useNaming="true"
         wrapperClass="org.apache.catalina.core.StandardWrapper">
         <ResourceLink global="UserDatabase" name="users"
           type="org.apache.catalina.UserDatabase"/>
       </Context>
       <DefaultContext
         className="org.apache.catalina.core.StandardDefaultContext"
         cookies="true" crossContext="true" name="defaultContext"
         reloadable="true" swallowOutput="false" useNaming="true"
         wrapperClass="org.apache.catalina.core.StandardWrapper">
       </DefaultContext>
       <Logger className="org.apache.catalina.logger.FileLogger"
         debug="0" directory="logs" prefix="localhost_log."
         suffix=".txt" timestamp="true" verbosity="1"/>
     </Host>
     <Logger className="org.apache.catalina.logger.FileLogger" debug="0"
       directory="logs" prefix="catalina_log." suffix=".txt"
       timestamp="true" verbosity="1"/>
     <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
          debug="0" resourceName="UserDatabase"/>
     <!-- <Realm className="org.apache.catalina.realm.JDBCRealm"
       connectionName="default" connectionPassword="afecrelease2003"
       connectionURL="jdbc:odbc:afec" debug="0"
       driverName="sun.jdbc.odbc.JdbcOdbcDriver" roleNameCol="UserRole"
       userCredCol="UserPassword" userNameCol="UserName"
       userRoleTable="TestUsers" userTable="TestUsers" validate="true"
       /> -->
   </Engine>
 </Service>
</Server>
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@(protected)
For additional commands, e-mail: tomcat-user-help@(protected)
©2008 junlu.com - Jax Systems, LLC, U.S.A.