HI Mark,
The jar file is in the application lib so yes, under WEB-INF/lib directory :)

Regards,
Haseeb

-----Original Message-----
From: Mark Thomas [mailto:ma...@apache.org] 
Sent: den 10 september 2018 10:08
To: Tomcat Users List <users@tomcat.apache.org>
Subject: Re: tomcat and sqlite

On 10/09/18 08:38, Saleem Haseeb wrote:
> Hi,
> I am trying to use sqlite in a web application on tomcat version 
> 8.0.41 The driver that I use to connect to sqlite from within the web 
> application is
> 
> <dependency>
>   <groupId>org.xerial</groupId>
>   <artifactId>sqlite-jdbc</artifactId>
>   <version>3.23.1</version>
> </dependency>
> 
> I am using Linux to deploy the application and whenever there is a connection 
> first made to the database I get the driver .so files created as below:
> 
> sqlite-3.23.1-71f96c59-5318-4b40-8505-8000876a12e7-libsqlitejdbc.so
> sqlite-3.23.1-71f96c59-5318-4b40-8505-8000876a12e7-libsqlitejdbc.so.lc
> k
> 
> in the contextDestroyed() hook I am trying to do something as 
> following to deregister the driver on my classloader for the webapp 
> like
> 
> 
> private void deregisterDrivers() {
>     Enumeration<Driver> drivers = DriverManager.getDrivers();
>     ClassLoader cl = Thread.currentThread().getContextClassLoader();
>     while (drivers.hasMoreElements()) {
>         Driver driver = drivers.nextElement();
>         if (driver.getClass().getClassLoader() == cl) {
>             try {
>                 logger.info("Deregistering jdbc driver: {}", driver);
>                 DriverManager.deregisterDriver(driver);
>             } catch (SQLException e) {
>                 logger.info("Error deregistering driver {} due to {}", 
> driver, e);
>             }
>         }
>     }
> }
> 
> the above as pointed out in some questions at stackoverflow says is 
> implementation dependent, so I verified and found out that it does not delete 
> those so and lck files.
> 
> As a workaround, I then tried in the same contextDestroyed method, to delete 
> the .so and .so.lck files but then that creates files with the pattern 
> .nfsyyyyyyy on my disk. These files seem like the driver files and for some 
> reason, if I try to delete those as part of clean up, I get the message 
> "Device is Busy" and the .nfs* files hang on the disk and also don't get 
> removed by the OS.
> 
> I am struggling here to get rid of the drivers gracefully on application 
> undeployment. Any help is appreciated!

Where is the JDBC located? &CATALINA_BASE/lib, WEB-INF/lib, somewhere else?

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to