-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
"Campbell Boucher-Burnet" <[EMAIL PROTECTED]> writes:
> Fred:
>
> I'm not sure I completely agree. As long as the connections are all inside
> the same VM, jdbcConnection can garantee that requests for the same URL all
> share a single instance of the Database, which makes concurrent access safe
BTW... I also tweaked our connection pool to only use one instance... and it
still failed :(
> (i.e. openStandalone is syncronized, and Database.execute() is syncronized,
> and instances against each distinct database are cached) and should not result
> in the "Database is un use by..." message:
>
> private synchronized void openStandalone(String user, String password)
> throws SQLException { dDatabase = (Database)
> tDatabase.get(sDatabaseName);
>
> int usage;
>
> if (dDatabase == null) {
> dDatabase = new Database(sDatabaseName);
>
> tDatabase.put(sDatabaseName, dDatabase);
>
> usage = 1;
> } else {
> usage = 1 + ((Integer) iUsageCount.get(sDatabaseName)).intValue();
> }
>
> iUsageCount.put(sDatabaseName, new Integer(usage));
>
> cChannel = dDatabase.connect(user, password);
> }
> /*
> NOTE: I just realized a bug in the code above!!! Relative "standalone"
> urls are broken, since we do not cannonicalize the path before puting it in
> the hashtable. Thus, if the current directory is changed inside the JVM and
> a new "standalone" url connection is requested in the relative form, a
> connection to the previously opened instasnce will be returned until the
> usage count against the relative url goes to zero. This needs to be fixed
> or documented in a clear manner.
> */
Hm... wasn't this only added in JDK 1.4? It might be better to compute absolute
paths on startup.
<snip/>
> However, it should *not* be possible to have connections to the same
> standalone database url from separate JVMs/OS processes. Theoretically, one
> should get the "The Database is in use by another process" message every time
> an attempt is made by some process after another process successfully makes
> the first connection.
OK... what about from multiple threads? What if you have the save JVM but
multiple threads in the above scenario?
Oh... I see what you are saying... multiple VMs all starting standalone by
themselves on the same on-disk DB.... right.
<snip/>
- --
Kevin A. Burton ( [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED] )
Location - San Francisco, CA, Cell - 415.595.9965
Jabber - [EMAIL PROTECTED], Web - http://relativity.yi.org/
The dawn is rising on a new day!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Get my public key at: http://relativity.yi.org/pgpkey.txt
iD8DBQE8iSkdAwM6xb2dfE0RAhZpAKCnKN58ZdL++lJM53SC/ox6OuvLAwCg0Gkk
XCm8PzG40INvCqvtxmZ1lmE=
=0ps/
-----END PGP SIGNATURE-----
_______________________________________________
hsqldb-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/hsqldb-developers