Java News from Wednesday, June 16, 2004

The Apache Jakarta Project has released Commons-DBCP 1.2.1, a library for pooling database connections. According to the web page, "Creating a new connection for each user can be time consuming (often requiring multiple seconds of clock time), in order to perform a database transaction that might take milliseconds. Opening a connection per user can be unfeasible in a publicly-hosted Internet application where the number of simultaneous users can be very large. Accordingly, developers often wish to share a 'pool' of open connections between all of the application's current users. The number of users actually performing a request at any given time is usually a very small percentage of the total number of active users, and during request processing is the only time that a database connection is required. The application itself logs into the DBMS, and handles any user account issues internally." DBCP 1.2.1 is a maintenance release that restores Java compatibility.

The Jakarta Apache Project has also released version 1.0.4 of Commons Logging. "There is a great need for debugging and logging information inside of Commons components such as HTTPClient and DBCP. However, there are many logging APIs out there and it is difficult to choose among them. The Logging package is an ultra-thin bridge between different logging libraries. Commons components may use the Logging API to remove compile-time and run-time dependencies on any particular logging package, and contributors may write Log implementations for the library of their choice." Version 1.0.4 "features several enhancements and bug fixes but is primarily a service release supporting both the older 1.2.x versions of Log4J and the upcoming 1.3.x versions. It is a fully compatible, drop-in replacement for the last 1.0.3 release."

By the way, I sometimes get annoyed e-mail from project leads and PR agents (incuding some at other Apache projects) asking why I haven't posted their news items. Often the reason is I can't figure out what the product actually does amidst all the hype about faster, better, and more buzzword compliant. It strikes me that the above descriptions are very good example of what product announcements should look like. In about a paragraph they explains what the product is and what it does without descending into adjectival hype. After reading that, I know immediately whether the product is useful to me or not.