Yesterday I fixed some [dbcp] "problems" caused by the new [pool]
requirement that setFactory can only be called once.  The quotes are
because most of the problems were redundant calls to setFactory. 
The reason that we left setFactory in [pool] is that [dbcp]'s
connection factory constructors call setFactory on the pool passed
to them.  It is an easy "mistake" to create a pool, then create a
connection factory and then do pool.setFactory(factory).  I
eliminated all of these usages from within [dbcp], but I bet a fair
amount of user code will similarly blow up when people upgrade.  I
hate to keep backsliding here, but maybe we should to this in GOP
setFactory:

             synchronized (factoryLock) {
                 if (this.factory == null) {
                     this.factory = factory;
-                } else {
+                } else if (this.factory != factory) {
                     throw new IllegalStateException("Factory
already set");
                 }
             }

Phil


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to