On May 31, 2006, at 6:36 PM, Abe White wrote:
To that end, I spent a little time recently investigating concurrency in the Kodo codebase. I've only gone over the "lib" code (basically the stuff that's checked into OpenJPA), but it turns out that with a few of the java.util.concurrent classes, we could get rid of almost all synchronization. Unfortunately, the java.util.concurrent package is 1.5-only, and even the available backport is 1.4 code (http://dcl.mathcs.emory.edu/util/backport- util-concurrent/). The backport is public domain, and it would be trivial to alter the few classes we need (ConcurrentHashMap, CopyOnWriteArrayList, CopyOnWriteArraySet) to be 1.4-compatible and check them in as OpenJPA utils (well actually Kodo utils, but OpenJPA utils when we synch the codebases). Before I do that, however, I'm wondering if anyone has other suggestions. Perhaps there is already code out there I don't know about.
Doug Lea's original concurrency utils ( http://g.oswego.edu/dl/ classes/EDU/oswego/cs/dl/util/concurrent/intro.html ) are very good in jdk 1.4/1.3.