You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by David kerber <dc...@verizon.net> on 2012/03/23 15:11:59 UTC

jdbc driver location in TC 7

Kind of related to the upgrade issue I ran into yesterday:

Where is the recommended location for jdbc driver jars in TC7, when I'm 
using separate CATALINA_HOME and CATALINA_BASE locations?  If it makes a 
difference, I am not using tomcat's connection pooling; it's handled in 
my app.

I generally would prefer to put it in my webapp's lib directory, and it 
works from there, but are there other considerations I might not be 
taking into account?

Thanks!
Dave

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


Re: jdbc driver location in TC 7

Posted by Torsten Krah <tk...@fachschaft.imn.htwk-leipzig.de>.
Am Montag, den 26.03.2012, 05:30 -0600 schrieb Terence M. Bandoian:
> Apparently, Tomcat (6.0.29) takes care of that if the 
> driver is located in the Tomcat lib directory but not if it is
> located 
> in web application's lib directory. 

Tomcat does not take care afaik - the classloader is not the webapps
classloader, so there is no leak to report.


Re: jdbc driver location in TC 7

Posted by Pid <pi...@pidster.com>.
On 26/03/2012 12:30, Terence M. Bandoian wrote:
>  On 1:59 PM, Pid * wrote:
>> On 25 Mar 2012, at 03:10, "Terence M. Bandoian"<te...@tmbsw.com> 
>> wrote:
>>
>>> On 1:59 PM, Pid * wrote:
>>>> On 23 Mar 2012, at 21:59, David Kerber<dc...@verizon.net>   wrote:
>>>>
>>>>> On 3/23/2012 6:51 PM, Terence M. Bandoian wrote:
>>>>>> On 1:59 PM, David kerber wrote:
>>>>>>> On 3/23/2012 11:19 AM, Caldarale, Charles R wrote:
>>>>>>>>> From: David kerber [mailto:dckerber@verizon.net]
>>>>>>>>> Subject: jdbc driver location in TC 7
>>>>>>>>> Where is the recommended location for jdbc driver jars in TC7,
>>>>>>>>> when I'm using separate CATALINA_HOME and CATALINA_BASE locations?
>>>>>>>> If you look in conf/catalina.properties, you'll see the order in
>>>>>>>> which the common loader searches directories.
>>>>>>>>
>>>>>>>>> If it makes a difference, I am not using tomcat's connection
>>>>>>>>> pooling; it's handled in my app.
>>>>>>>> That's a critical difference.
>>>>>>>>
>>>>>>>>> I generally would prefer to put it in my webapp's lib directory
>>>>>>>> That is the correct location, since Tomcat is not involved.
>>>>>>> Great; thanks for confirming.
>>>>>>>
>>>>>>> D
>>>>>>>
>>>>>> Hi, David-
>>>>>>
>>>>>> I prefer the web app's lib directory as well but when I place the
>>>>>> JDBC driver there, a memory leak detection error is logged when I
>>>>>> stop Tomcat.  Not a big deal but I'd prefer not to have to
>>>>>> explain.  When I move the JDBC driver to the Tomcat lib directory,
>>>>>> the error is no longer logged.  (Tomcat 6)
>>>>> Even better would be to fix your probable connection leak.  I had
>>>>> some too, when I went to a version that had the leak detection, but
>>>>> was able to fix them all.
>>>>>
>>>>> D
>>>> Yup. Just deregister the DB driver on app stop using a
>>>> ServletContexListener.
>>>>
>>>>
>>>> p
>>>
>>> Thanks.  I'll give that a try.  Wouldn't I see a connection leak no
>>> matter where I placed the driver?
>> Only if you're not returning / cleaning up connection objects properly.
>>
>>
>>> De-registering the driver may do the trick.
>> This addresses the driver leak&  warning by Tomcat.
>>
>>
>> p
> 
> 
> Thanks again.  Explicitly de-registering the driver eliminated the
> Tomcat error message with the driver located in WEB-INF/lib.  From what
> I've read, JDBC 4.0 drivers automatically register themselves with
> DriverManager but I haven't seen anything about automatic
> de-registration.  Apparently, Tomcat (6.0.29) takes care of that if the
> driver is located in the Tomcat lib directory but not if it is located
> in web application's lib directory.  Or maybe de-registration isn't a
> concern when Tomcat is shutting down.

The other way round, I think.  Read the warning message.


p

> -Terence Bandoian
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 


-- 

[key:62590808]


Re: jdbc driver location in TC 7

Posted by "Terence M. Bandoian" <te...@tmbsw.com>.
  On 1:59 PM, Pid * wrote:
> On 25 Mar 2012, at 03:10, "Terence M. Bandoian"<te...@tmbsw.com>  wrote:
>
>> On 1:59 PM, Pid * wrote:
>>> On 23 Mar 2012, at 21:59, David Kerber<dc...@verizon.net>   wrote:
>>>
>>>> On 3/23/2012 6:51 PM, Terence M. Bandoian wrote:
>>>>> On 1:59 PM, David kerber wrote:
>>>>>> On 3/23/2012 11:19 AM, Caldarale, Charles R wrote:
>>>>>>>> From: David kerber [mailto:dckerber@verizon.net]
>>>>>>>> Subject: jdbc driver location in TC 7
>>>>>>>> Where is the recommended location for jdbc driver jars in TC7,
>>>>>>>> when I'm using separate CATALINA_HOME and CATALINA_BASE locations?
>>>>>>> If you look in conf/catalina.properties, you'll see the order in which the common loader searches directories.
>>>>>>>
>>>>>>>> If it makes a difference, I am not using tomcat's connection
>>>>>>>> pooling; it's handled in my app.
>>>>>>> That's a critical difference.
>>>>>>>
>>>>>>>> I generally would prefer to put it in my webapp's lib directory
>>>>>>> That is the correct location, since Tomcat is not involved.
>>>>>> Great; thanks for confirming.
>>>>>>
>>>>>> D
>>>>>>
>>>>> Hi, David-
>>>>>
>>>>> I prefer the web app's lib directory as well but when I place the JDBC driver there, a memory leak detection error is logged when I stop Tomcat.  Not a big deal but I'd prefer not to have to explain.  When I move the JDBC driver to the Tomcat lib directory, the error is no longer logged.  (Tomcat 6)
>>>> Even better would be to fix your probable connection leak.  I had some too, when I went to a version that had the leak detection, but was able to fix them all.
>>>>
>>>> D
>>> Yup. Just deregister the DB driver on app stop using a ServletContexListener.
>>>
>>>
>>> p
>>
>> Thanks.  I'll give that a try.  Wouldn't I see a connection leak no matter where I placed the driver?
> Only if you're not returning / cleaning up connection objects properly.
>
>
>> De-registering the driver may do the trick.
> This addresses the driver leak&  warning by Tomcat.
>
>
> p


Thanks again.  Explicitly de-registering the driver eliminated the 
Tomcat error message with the driver located in WEB-INF/lib.  From what 
I've read, JDBC 4.0 drivers automatically register themselves with 
DriverManager but I haven't seen anything about automatic 
de-registration.  Apparently, Tomcat (6.0.29) takes care of that if the 
driver is located in the Tomcat lib directory but not if it is located 
in web application's lib directory.  Or maybe de-registration isn't a 
concern when Tomcat is shutting down.

-Terence Bandoian


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


Re: jdbc driver location in TC 7

Posted by "Terence M. Bandoian" <te...@tmbsw.com>.
  On 1:59 PM, Pid * wrote:
> On 25 Mar 2012, at 03:10, "Terence M. Bandoian"<te...@tmbsw.com>  wrote:
>
>> On 1:59 PM, Pid * wrote:
>>> On 23 Mar 2012, at 21:59, David Kerber<dc...@verizon.net>   wrote:
>>>
>>>> On 3/23/2012 6:51 PM, Terence M. Bandoian wrote:
>>>>> On 1:59 PM, David kerber wrote:
>>>>>> On 3/23/2012 11:19 AM, Caldarale, Charles R wrote:
>>>>>>>> From: David kerber [mailto:dckerber@verizon.net]
>>>>>>>> Subject: jdbc driver location in TC 7
>>>>>>>> Where is the recommended location for jdbc driver jars in TC7,
>>>>>>>> when I'm using separate CATALINA_HOME and CATALINA_BASE locations?
>>>>>>> If you look in conf/catalina.properties, you'll see the order in which the common loader searches directories.
>>>>>>>
>>>>>>>> If it makes a difference, I am not using tomcat's connection
>>>>>>>> pooling; it's handled in my app.
>>>>>>> That's a critical difference.
>>>>>>>
>>>>>>>> I generally would prefer to put it in my webapp's lib directory
>>>>>>> That is the correct location, since Tomcat is not involved.
>>>>>> Great; thanks for confirming.
>>>>>>
>>>>>> D
>>>>>>
>>>>> Hi, David-
>>>>>
>>>>> I prefer the web app's lib directory as well but when I place the JDBC driver there, a memory leak detection error is logged when I stop Tomcat.  Not a big deal but I'd prefer not to have to explain.  When I move the JDBC driver to the Tomcat lib directory, the error is no longer logged.  (Tomcat 6)
>>>> Even better would be to fix your probable connection leak.  I had some too, when I went to a version that had the leak detection, but was able to fix them all.
>>>>
>>>> D
>>> Yup. Just deregister the DB driver on app stop using a ServletContexListener.
>>>
>>>
>>> p
>>
>> Thanks.  I'll give that a try.  Wouldn't I see a connection leak no matter where I placed the driver?
> Only if you're not returning / cleaning up connection objects properly.
>
>
>> De-registering the driver may do the trick.
> This addresses the driver leak&  warning by Tomcat.
>
>
> p
>


Exactly.

-Terence Bandoian


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


Re: jdbc driver location in TC 7

Posted by Pid * <pi...@pidster.com>.
On 25 Mar 2012, at 03:10, "Terence M. Bandoian" <te...@tmbsw.com> wrote:

> On 1:59 PM, Pid * wrote:
>> On 23 Mar 2012, at 21:59, David Kerber<dc...@verizon.net>  wrote:
>>
>>> On 3/23/2012 6:51 PM, Terence M. Bandoian wrote:
>>>> On 1:59 PM, David kerber wrote:
>>>>> On 3/23/2012 11:19 AM, Caldarale, Charles R wrote:
>>>>>>> From: David kerber [mailto:dckerber@verizon.net]
>>>>>>> Subject: jdbc driver location in TC 7
>>>>>>> Where is the recommended location for jdbc driver jars in TC7,
>>>>>>> when I'm using separate CATALINA_HOME and CATALINA_BASE locations?
>>>>>> If you look in conf/catalina.properties, you'll see the order in which the common loader searches directories.
>>>>>>
>>>>>>> If it makes a difference, I am not using tomcat's connection
>>>>>>> pooling; it's handled in my app.
>>>>>> That's a critical difference.
>>>>>>
>>>>>>> I generally would prefer to put it in my webapp's lib directory
>>>>>> That is the correct location, since Tomcat is not involved.
>>>>> Great; thanks for confirming.
>>>>>
>>>>> D
>>>>>
>>>> Hi, David-
>>>>
>>>> I prefer the web app's lib directory as well but when I place the JDBC driver there, a memory leak detection error is logged when I stop Tomcat.  Not a big deal but I'd prefer not to have to explain.  When I move the JDBC driver to the Tomcat lib directory, the error is no longer logged.  (Tomcat 6)
>>> Even better would be to fix your probable connection leak.  I had some too, when I went to a version that had the leak detection, but was able to fix them all.
>>>
>>> D
>> Yup. Just deregister the DB driver on app stop using a ServletContexListener.
>>
>>
>> p
>
>
> Thanks.  I'll give that a try.  Wouldn't I see a connection leak no matter where I placed the driver?

Only if you're not returning / cleaning up connection objects properly.


> De-registering the driver may do the trick.

This addresses the driver leak & warning by Tomcat.


p


> -Terence Bandoian
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>

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


Re: jdbc driver location in TC 7

Posted by "Terence M. Bandoian" <te...@tmbsw.com>.
  On 1:59 PM, Pid * wrote:
> On 23 Mar 2012, at 21:59, David Kerber<dc...@verizon.net>  wrote:
>
>> On 3/23/2012 6:51 PM, Terence M. Bandoian wrote:
>>> On 1:59 PM, David kerber wrote:
>>>> On 3/23/2012 11:19 AM, Caldarale, Charles R wrote:
>>>>>> From: David kerber [mailto:dckerber@verizon.net]
>>>>>> Subject: jdbc driver location in TC 7
>>>>>> Where is the recommended location for jdbc driver jars in TC7,
>>>>>> when I'm using separate CATALINA_HOME and CATALINA_BASE locations?
>>>>> If you look in conf/catalina.properties, you'll see the order in which the common loader searches directories.
>>>>>
>>>>>> If it makes a difference, I am not using tomcat's connection
>>>>>> pooling; it's handled in my app.
>>>>> That's a critical difference.
>>>>>
>>>>>> I generally would prefer to put it in my webapp's lib directory
>>>>> That is the correct location, since Tomcat is not involved.
>>>> Great; thanks for confirming.
>>>>
>>>> D
>>>>
>>> Hi, David-
>>>
>>> I prefer the web app's lib directory as well but when I place the JDBC driver there, a memory leak detection error is logged when I stop Tomcat.  Not a big deal but I'd prefer not to have to explain.  When I move the JDBC driver to the Tomcat lib directory, the error is no longer logged.  (Tomcat 6)
>> Even better would be to fix your probable connection leak.  I had some too, when I went to a version that had the leak detection, but was able to fix them all.
>>
>> D
> Yup. Just deregister the DB driver on app stop using a ServletContexListener.
>
>
> p


Thanks.  I'll give that a try.  Wouldn't I see a connection leak no 
matter where I placed the driver?  De-registering the driver may do the 
trick.

-Terence Bandoian


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


Re: jdbc driver location in TC 7

Posted by Pid * <pi...@pidster.com>.
On 23 Mar 2012, at 21:59, David Kerber <dc...@verizon.net> wrote:

> On 3/23/2012 6:51 PM, Terence M. Bandoian wrote:
>> On 1:59 PM, David kerber wrote:
>>> On 3/23/2012 11:19 AM, Caldarale, Charles R wrote:
>>>>> From: David kerber [mailto:dckerber@verizon.net]
>>>>> Subject: jdbc driver location in TC 7
>>>>
>>>>> Where is the recommended location for jdbc driver jars in TC7,
>>>>> when I'm using separate CATALINA_HOME and CATALINA_BASE locations?
>>>>
>>>> If you look in conf/catalina.properties, you'll see the order in which the common loader searches directories.
>>>>
>>>>> If it makes a difference, I am not using tomcat's connection
>>>>> pooling; it's handled in my app.
>>>>
>>>> That's a critical difference.
>>>>
>>>>> I generally would prefer to put it in my webapp's lib directory
>>>>
>>>> That is the correct location, since Tomcat is not involved.
>>>
>>> Great; thanks for confirming.
>>>
>>> D
>>>
>>
>> Hi, David-
>>
>> I prefer the web app's lib directory as well but when I place the JDBC driver there, a memory leak detection error is logged when I stop Tomcat.  Not a big deal but I'd prefer not to have to explain.  When I move the JDBC driver to the Tomcat lib directory, the error is no longer logged.  (Tomcat 6)
>
> Even better would be to fix your probable connection leak.  I had some too, when I went to a version that had the leak detection, but was able to fix them all.
>
> D

Yup. Just deregister the DB driver on app stop using a ServletContexListener.


p

>> -Terence Bandoian
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>

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


Re: jdbc driver location in TC 7

Posted by David Kerber <dc...@verizon.net>.
On 3/23/2012 6:51 PM, Terence M. Bandoian wrote:
>  On 1:59 PM, David kerber wrote:
>> On 3/23/2012 11:19 AM, Caldarale, Charles R wrote:
>>>> From: David kerber [mailto:dckerber@verizon.net]
>>>> Subject: jdbc driver location in TC 7
>>>
>>>> Where is the recommended location for jdbc driver jars in TC7,
>>>> when I'm using separate CATALINA_HOME and CATALINA_BASE locations?
>>>
>>> If you look in conf/catalina.properties, you'll see the order in 
>>> which the common loader searches directories.
>>>
>>>> If it makes a difference, I am not using tomcat's connection
>>>> pooling; it's handled in my app.
>>>
>>> That's a critical difference.
>>>
>>>> I generally would prefer to put it in my webapp's lib directory
>>>
>>> That is the correct location, since Tomcat is not involved.
>>
>> Great; thanks for confirming.
>>
>> D
>>
>
> Hi, David-
>
> I prefer the web app's lib directory as well but when I place the JDBC 
> driver there, a memory leak detection error is logged when I stop 
> Tomcat.  Not a big deal but I'd prefer not to have to explain.  When I 
> move the JDBC driver to the Tomcat lib directory, the error is no 
> longer logged.  (Tomcat 6)

Even better would be to fix your probable connection leak.  I had some 
too, when I went to a version that had the leak detection, but was able 
to fix them all.

D



>
> -Terence Bandoian
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>
>


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


Re: jdbc driver location in TC 7

Posted by "Terence M. Bandoian" <te...@tmbsw.com>.
  On 1:59 PM, David kerber wrote:
> On 3/23/2012 11:19 AM, Caldarale, Charles R wrote:
>>> From: David kerber [mailto:dckerber@verizon.net]
>>> Subject: jdbc driver location in TC 7
>>
>>> Where is the recommended location for jdbc driver jars in TC7,
>>> when I'm using separate CATALINA_HOME and CATALINA_BASE locations?
>>
>> If you look in conf/catalina.properties, you'll see the order in 
>> which the common loader searches directories.
>>
>>> If it makes a difference, I am not using tomcat's connection
>>> pooling; it's handled in my app.
>>
>> That's a critical difference.
>>
>>> I generally would prefer to put it in my webapp's lib directory
>>
>> That is the correct location, since Tomcat is not involved.
>
> Great; thanks for confirming.
>
> D
>

Hi, David-

I prefer the web app's lib directory as well but when I place the JDBC 
driver there, a memory leak detection error is logged when I stop 
Tomcat.  Not a big deal but I'd prefer not to have to explain.  When I 
move the JDBC driver to the Tomcat lib directory, the error is no longer 
logged.  (Tomcat 6)

-Terence Bandoian


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


Re: jdbc driver location in TC 7

Posted by David kerber <dc...@verizon.net>.
On 3/23/2012 11:19 AM, Caldarale, Charles R wrote:
>> From: David kerber [mailto:dckerber@verizon.net]
>> Subject: jdbc driver location in TC 7
>
>> Where is the recommended location for jdbc driver jars in TC7,
>> when I'm using separate CATALINA_HOME and CATALINA_BASE locations?
>
> If you look in conf/catalina.properties, you'll see the order in which the common loader searches directories.
>
>> If it makes a difference, I am not using tomcat's connection
>> pooling; it's handled in my app.
>
> That's a critical difference.
>
>> I generally would prefer to put it in my webapp's lib directory
>
> That is the correct location, since Tomcat is not involved.

Great; thanks for confirming.

D

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


RE: jdbc driver location in TC 7

Posted by "Caldarale, Charles R" <Ch...@unisys.com>.
> From: David kerber [mailto:dckerber@verizon.net] 
> Subject: jdbc driver location in TC 7

> Where is the recommended location for jdbc driver jars in TC7,
> when I'm using separate CATALINA_HOME and CATALINA_BASE locations?

If you look in conf/catalina.properties, you'll see the order in which the common loader searches directories.

> If it makes a difference, I am not using tomcat's connection 
> pooling; it's handled in my app.

That's a critical difference.

> I generally would prefer to put it in my webapp's lib directory

That is the correct location, since Tomcat is not involved.

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers.


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