struts-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ted Husted <>
Date Fri, 09 May 2003 10:18:01 GMT
For discussion purposes, I've added a standalone "struts-legacy" package 
to the Contrib folder. It builds alone and with Struts, but I still have 
to play-test it. I just wanted to get this up before I switched over to 
the day-job.

The idea would be that instead of GenericDataSource wrapping DBCP, and 
importing the Commons-DBCP and Commons-Pool JARS, we wrap our original 
implementation instead. So, instead of creating a dependence on a 
secondary Commons JAR, we create one on a secondary JAR of our own.

For Struts 1.1, we could bundle the struts-legacy jar (or whatever we 
want to call it) in the binary distribution, as we do with the Commons 
JARs. In a later release, we can remove the GDS default, and make the 
legacy JAR a separate download.

If someone wants to compile the struts-legacy from source, they would 
have to use Java 1.4, or comment out the gratuitous 1.4 signatures.

Since we are going to remove our GDS implementation, and DBPC is 
stalled, this seems like the simplest solution.


Ted Husted wrote:
> How about if we put the old GDS/GC code in its own JAR?
> We could put the source under contrib, and make it a separate build. 
> Then when we make the other changes, we can pull the struts-gds.jar, and 
> make it a separate download as well.
> -Ted.
> Craig R. McClanahan wrote:
>> On Thu, 8 May 2003, Ted Husted wrote:
>>> So, by retrofitting the old GDS and adding the new 1.4 Connection
>>> signatures as "UnsupportedOperation", she compiles under 1.4 but
>>> *without* Commons-DBCP and Commons-Pool.
>> As soon as you try this, you're going to discover a very unpleasant fact
>> -- you cannot create a single source file of a class that implements
>> java.sql.Connection that compiles under both JDK < 1.4 and JDK >= 
>> 1.4.  If
>> you want to see the world's worst hack to get around this, take a look at
>> the commons-dbcp source code and the associated build script.
>> Such a class compiled under 1.4 will *run* on a < 1.4 platform (as 
>> long as
>> you don't reference the new methods that deal with a Savepoint).  But 
>> we'd
>> have to accept a restriction that you can only compile Struts on a 1.4 or
>> later platform.  That wouldn't bother me personally (I use 1.4
>> exclusively) but I suspect it would bother more than a few users.
>> Craig

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message