tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aaron Mulder <>
Subject Re: Docs on Tyrex Pools
Date Sat, 06 Oct 2001 15:19:23 GMT
	I can't address the documentation, but as for your JDBC problem...

	It seems like you have two choices.  You can write a little
wrapper to make a "normal" JDBC connection look like an "XA" JDBC
Connection, but that is perhaps not the greatest solution.  Because they
still won't be truly 2-phase commit connections - they would always agree
to commit, even if it wasn't really possible, so if there was some sort of
problem you'd end up with a heuristic exception any time the wrappered
connection wasn't first.  Of course, if you're always using exactly one
connection per transaction, you probably don't care.  If you're not using
J2EE transactions around your DB conections, then you *really* don't want
	The other choice is to just use a pooling system that handles
normal JDBC connections.
	I worked on both of these for JBoss.  If you want help, code, or a
library, let me know.  There's also another library available called
PoolMan that pools JDBC connections, though I'm not that familiar with it.


On Sat, 6 Oct 2001, Will Stranathan wrote:
> I think the documentation needs to be changed on jndi-resources-howto.html.
> I had posted several messages regarding Tyrex not actually pooling my
> connections to my database, and didn't really get much feedback, except
> that I was getting new DataSources on each call.  When I worked around
> that, it was still creating brand new physical connections.
> So I sent a message to the Tyrex mailing list, and it turns out that
> your JDBC driver has to support either ConnectionPoolDataSource or
> XADataSource - so using Tyrex for connection pools is absolutely
> useless.  It doesn't provide pooling for drivers that don't support it,
> and if I had a driver that supported it, I wouldn't need Tyrex because I
> can just use the proper classname and driver in the <Resource> element
> in my server.xml.
> All this to say a couple of things:
> 1) The documentation implies that by the use of Tyrex, Catalina has a
> built-in mechanism for connection pooling, which is wrong.  Catalina
> provides an InitialContext implementation to which
> ConnectionPoolDataSources (or any arbitrary object) can be bound.
> 2) If Tyrex is only being used for implementing a connection pool, it's
> not doing its job - so why is it there?
> I know that I simply don't understand how ConnectionPoolDataSources and
> XADataSources are supposed to be implemented, so I'm probably mostly
> wrong in my message here.  However, as a USER of Tomcat, I was given the
> impression by the documentation that I could actually get a pool of
> connections by putting the correct information in my server.xml - which
> is only half right - I have to put the correct information in
> server.xml, AND I have to use a driver which implements
> javax.sql.ConnectionPoolDataSource.
> Regards,
> Will Stranathan

View raw message