Sorry John,
I’m at a loss then. I can’t explain it. That should have worked.
On Mar 25, 2014, at 6:04 AM, John Pollard < email@hidden> wrote: Thanks Aaron, In mysql I use: show status like "Threads_connected";
to see the two connections added when I create an OSC in the session, key elements being:
objectStoreCoordinator = new ERXObjectStoreCoordinator(true); // true = close db connections on closing this.ec = ERXEC.newEditingContext(objectStoreCoordinator); setDefaultEditingContext(this.ec);
Then to tidy up in terminate I use:
objectStoreCoordinator.dispose();
which invokes ERXEOAccessUtilities.closeDatabaseConnections() on itself
Whether or not I dispose of the ec as well, or call ERXEOAccessUtilities.closeDatabaseConnections() on the osc myself, I still get only one of the database connections dropped.
John
On 16 Mar 2014, at 09:35, Aaron Rosenzweig < email@hidden> wrote: I’m sorry John,
I’m traveling in a faraway land and have had spotty Internet until now.
Short answer - I don’t know, if you did it right both (2) DB connections should be gone now.
Long answer below:
Doing “dispose” of the ObjectStoreCoordinator (not the EC) should release the primary DB connection that your WOApp was using.
To dispose of the 2nd “hidden” connection that was only used to get the JDBC info and then not used… you must use the Wonder utilities call.
My guess is that if you are using the Wonder utilities and see one of your two connections dropping then your problem is that you are disposing the EC by accident instead of the EC’s ObjectStoreCoordinator. It has to be the “Coordinator” that you are disposing because that is what holds the connection to the DB, not the EC.
Double check :-)
Cheers,
On Mar 14, 2014, at 10:16 PM, John Pollard < email@hidden> wrote: I see that constructing ERXObjectStoreCoordinator(true) is another way to work around the issue of closing the db connection. However, I still get two connections created and only one closed when disposed. John On 13 Mar 2014, at 14:33, John Pollard < email@hidden> wrote: Thanks Aaron, half way there, that closed one of the two connections, but neither of mine were closing so still one left open after the following code? John On 13 Mar 2014, at 13:04, Aaron Rosenzweig < email@hidden> wrote: Hi John,
Yes, that’s a known Apple bug. It creates an extra one to read “Database info” and then never releases it. There is a Wonder method to close database connections like that.
ec.dispose(); ERXEOAccessUtilities.closeDatabaseConnections(objectStore); objectStore.dispose(); Cheers,
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
|