tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bradley Wagner <bradley.wag...@hannonhill.com>
Subject Re: DBCP params different for the Tomcat DBCP implementation in Tomcat 8?
Date Wed, 07 Oct 2015 18:54:09 GMT
Did not what?

We added "factory='org.apache.tomcat.jdbc.pool.DataSourceFactory'". That
switched us to Tomcat DBCP, correct?

At that time, we were using the updated "maxWaitMillis" and "maxTotal" in
our context.xml and Tomcat didn't seem to complain on startup.

Then, when we tried to set "maxWaitMillis" on a manually created Tomcat
DBCP dataSource:
 "<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource"
destroy-method="close">" in a test at which point we got an error about
that class not having a 'maxWaitMillis' setter.

Was the Tomcat DBCP we were using in our context.xml just failing silently
or ignoring the 'maxWaitMillis' and 'maxTotal' params and we didn't realize
it? Are the params here:
https://tomcat.apache.org/tomcat-8.0-doc/jdbc-pool.html mean to be the
definitive ones for Tomcat DBCP?

On Wed, Oct 7, 2015 at 2:46 PM Konstantin Kolinko <knst.kolinko@gmail.com>
wrote:

> 2015-10-07 21:36 GMT+03:00 Bradley Wagner <bradley.wagner@hannonhill.com>:
> > Hi,
> >
> > We recently upgraded to Tomcat 8. As per the Migration Guide:
> > https://tomcat.apache.org/migration-8.html#Database_Connection_Pooling
> and
> > DBCP documentation
> >
> https://tomcat.apache.org/tomcat-8.0-doc/jndi-datasource-examples-howto.html#Database_Connection_Pool_(DBCP_2)_Configurations
> ,
> > we switched to using the new param values like: maxTotal and
> maxWaitMillis.
> >
> > Then, we switched to using the Tomcat DBCP by adding
> > factory="org.apache.tomcat.jdbc.pool.DataSourceFactory". Tomcat did not
> > seem to have a problem with using Tomcat DBCP with the updated param
> names.
>
> No, you did not. The above factory is for "Tomcat JDBC" pool
> implementation.
>
> It was inspired by DBCP1, but is different from both Commons DBCP1
> (used by default in Tomcat 6, 7) and Commons DBCP2 (used by default in
> Tomcat 8).
>
> > Then, I modified a test we were running to also use  a Spring
> initialized,
> > Tomcat DBCP DataSource:
> >
> > <bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource"
> > destroy-method="close">
> >
> > Now, our test is complaining with: "Bean property 'maxWaitMillis' is not
> > writable or has an invalid setter method." because we were using the new
> > style param name:
> >
> > <property name="maxWaitMillis" value="5000"/>
> >
> > So now I'm confused.
> >
> > 1. Does Tomcat DBCP (in Tomcat 8) indeed use different params than the
> new
> > DBCP2 that ships with Tomcat 8?
> > 2. Why did Tomcat not complain when I was using maxWaitMillis with the
> > updated factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" but does
> > complain when I try to instantiate that pool implementation's DataSource
> > directly?
> > 3. Is there some other way that I should be instantiating the Tomcat DBCP
> > DataSource in my test that would be more appropriate?
> >
> > I searched the archives and couldn't find mention of this.
> >
> > Thanks!
> >
> >
> > --
> > Bradley Wagner
> > VP Engineering, Hannon Hill
> > www.hannonhill.com | Twitter <https://twitter.com/hannon_hill> | Github
> > <http://github.com/hannonhill>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
> --
Bradley Wagner
VP Engineering, Hannon Hill
www.hannonhill.com | Twitter <https://twitter.com/hannon_hill> | Github
<http://github.com/hannonhill>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message