tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Germán Ferrari <german.ferr...@gmail.com>
Subject Re: tomcat-jdbc: correct way to create a new separated org.apache.tomcat.jdbc.pool.DataSource from another one
Date Wed, 08 Aug 2012 17:20:22 GMT
On Wed, Aug 8, 2012 at 2:12 PM, Germán Ferrari <german.ferrari@gmail.com>wrote:
>
> (...)
>

> For the moment I think I have three options:
> 1. Change some interfaces to receive a Properties object with the pool
> configuration and use the suggestion given by Daniel
> 2. Cast the return of DataSource#getPoolProperties() to PoolProperties and
> use it's clone() method.
>
3. Create a new PoolProperties and set all the properties manually to use
> the ones returned by DataSource#getPoolProperties()
>
> I think #2 is the closest to what I originally thought.
>

mmm... I misread the signature of PoolProperties#clone(), it's protected...
So I guess #2 is not an option...



>
> Regards,
> Germán
>
>
>> Martin
>> ______________________________________________
>> Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité
>>
>> Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene
>> Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte
>> Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht
>> dient lediglich dem Austausch von Informationen und entfaltet keine
>> rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von
>> E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen.
>> Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas
>> le destinataire prévu, nous te demandons avec bonté que pour satisfaire
>> informez l'expéditeur. N'importe quelle diffusion non autorisée ou la copie
>> de ceci est interdite. Ce message sert à l'information seulement et n'aura
>> pas n'importe quel effet légalement obligatoire. Étant donné que les email
>> peuvent facilement être sujets à la manipulation, nous ne pouvons accepter
>> aucune responsabilité pour le contenu fourni.
>>
>>
>> > From: german.ferrari@gmail.com
>> > Date: Wed, 8 Aug 2012 08:20:59 -0300
>> > Subject: Re: tomcat-jdbc: correct way to create a new separated
>> org.apache.tomcat.jdbc.pool.DataSource from another one
>> > To: users@tomcat.apache.org
>> >
>> > Hello,
>> >
>> > On Tue, Aug 7, 2012 at 9:36 PM, Martin Gainty <mgainty@hotmail.com>
>> wrote:
>> >
>> > >
>> > > Germán
>> > >
>> > > Is there a reason why you would not use
>> > > org.apache.commons.dbcp.datasources.SharedPoolDataSource from DBCP 1.4
>> > > http://commons.apache.org/dbcp/apidocs/index.html
>> >
>> > ?
>> >
>> >
>> > For what I've looked in the javadoc of that class, it serves a somewhat
>> > different use case. In my concrete use case, the usename and password
>> would
>> > be the same, the main property I would want to change is the maxActive
>> > connections. I want to have a new data source, which is independent of
>> the
>> > other, son I can potentially close one without affecting the other.
>> >
>> > Also, at this moment I'm not evaluating to change the connection pooling
>> > library.
>> >
>> > Regards,
>> > Germán
>> >
>> >
>> > > Martin
>> > > ______________________________________________
>> > > Verzicht und Vertraulichkeitanmerkung
>> > >
>> > > Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene
>> > > Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede
>> unbefugte
>> > > Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese
>> Nachricht
>> > > dient lediglich dem Austausch von Informationen und entfaltet keine
>> > > rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit
>> von
>> > > E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen.
>> > >
>> > >
>> > >
>> > >
>> > > > From: german.ferrari@gmail.com
>> > > > Date: Tue, 7 Aug 2012 20:06:53 -0300
>> > > > Subject: tomcat-jdbc: correct way to create a new separated
>> > > org.apache.tomcat.jdbc.pool.DataSource from another one
>> > > > To: users@tomcat.apache.org
>> > > >
>> > > > Hello.
>> > > >
>> > > > I have an use case in which I would want to copy an
>> > > > `org.apache.tomcat.jdbc.pool.DataSource`, to have two disjoint
>> connection
>> > > > pools, with some pool properties changed.
>> > > >
>> > > > My first thought was to do something like this:
>> > > >
>> > > > PoolProperties props = new
>> > > > PoolProperties(baseDataSource.getPoolProperties());
>> > > > // set custom props ...
>> > > > DataSource newDataSource = new DataSource(props);
>> > > >
>> > > >
>> > > > The problem is that the PoolProperties class doesn't have such
>> > > constructor.
>> > > > Another option could be to share the PoolProperties object, but,
>> for what
>> > > > I've looked into the code, it doesn't seem safe.
>> > > >
>> > > > The PoolProperties class implements the Cloneable interface, so I
>> guess
>> > > > it's ok to use its clone method. The problem I have with this
>> option is
>> > > > that DataSource#getPoolProperties() returns a PoolConfiguration
>> which
>> > > > doesn't implements Cloneable. In my case I think it would be safe
>> to cast
>> > > > the PoolConfiguration to PoolProperties, but it doesn't seem safe
>> for the
>> > > > general case.
>> > > >
>> > > > What would be the correct way to create a new separated DataSource
>> from
>> > > > another one having some properties changed?
>> > > >
>> > > > I'm using tomcat-jdbc 7.0.29 as a standalone library.
>> > > >
>> > > > Thank you.
>> > > >
>> > > > Regards,
>> > > > Germán
>> > >
>> > >
>>
>>
>
>

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