• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: new EOObjectStoreCoordinator and closing database connection afterwards
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: new EOObjectStoreCoordinator and closing database connection afterwards


  • Subject: Re: new EOObjectStoreCoordinator and closing database connection afterwards
  • From: Chuck Hill <email@hidden>
  • Date: Mon, 7 Jul 2008 15:12:14 -0700


On Jul 7, 2008, at 2:38 PM, Klaus Berkling wrote:


On Jul 2, 2008, at 4:50 PM, Chuck Hill wrote:


On Jul 1, 2008, at 2:41 PM, Klaus Berkling wrote:

Hi all.

In my application I'm trying to use independent access layer stacks to open multiple database connections to the database.
I use this code:


EOObjectStoreCoordinator parentObjectStore = new EOObjectStoreCoordinator();
EOEditingContext editingContext = new EOEditingContext(parentObjectStore);
setDefaultEditingContext(editingContext);


This looks like it's working in that it opens two new connection to the database when I start a new session. As expected.

If it is opening two, I'd expect one to be to get the JDBC2 Info and the other for EOF to use to fetch data. As Mike noted earlier, getting EOF to close the JDBC 2 Info connection is tricky. Can you get the DB to log what is sent over each connection? That should indicate if I am right or not.


This is what shows up in the mysql log when my client connects:

080707 14:27:10	    67 Connect     xxxxx@yyyyyy on zzzzzzz
		    67 Query       SET NAMES latin1
		    67 Query       SET character_set_results = NULL
		    67 Query       SHOW VARIABLES
		    67 Query       SHOW COLLATION
		    67 Query       SET autocommit=1
		    67 Query       SHOW VARIABLES LIKE 'tx_isolation'
		    67 Query       SET autocommit=0
		    68 Connect     xxxxx@yyyyyy on zzzzzzz
		    68 Query       SET NAMES latin1
		    68 Query       SET character_set_results = NULL
		    68 Query       SHOW VARIABLES
		    68 Query       SHOW COLLATION
		    68 Query       SET autocommit=1
		    68 Query       SHOW VARIABLES LIKE 'tx_isolation'
		    68 Query       SET autocommit=0

At logout from the client:

080707 14:27:16 67 Prepare [25] UPDATE RS_USER_SESSION SET LOUT_TIME = ? WHERE (USER_SESSION_PK = ? AND LOGIN_GROUP_NUM = ? AND LOGIN_STUDENT_PK is NULL)
67 Execute [25] UPDATE RS_USER_SESSION SET LOUT_TIME = '2008-07-07 14:30:06' WHERE (USER_SESSION_PK = '558446' AND LOGIN_GROUP_NUM = '1' AND LOGIN_STUDENT_PK is NULL)
67 Query commit
67 Query rollback
67 Quit


There never is a Quit from 68.

It is hard to say from that, the jcbc2info request might not get logged like this. But my money is still on the jdbc2info connection. It fits all of the evidence.


Mike figured out how to close it, but I don't know where the code is in Wonder. Hmmm, that might have been in Entity Modeler.

Mike?


Chuck


When I'm terminate the session I use this code to close the connection to the database:

'editingContext' is the session 'defaultEditingContext()'

EOObjectStoreCoordinator parentObjectStore = (EOObjectStoreCoordinator)(editingContext.parentObjectStore());
NSArray databaseContexts = parentObjectStore.cooperatingObjectStores();
int contextCount = databaseContexts.count();


for (int i = 0; i < contextCount; i++) {
NSArray channels = ((EODatabaseContext )databaseContexts.objectAtIndex(i)).registeredChannels();
int channelCount = channels.count();
for (int j = 0; j < channelCount; j++) {
//Make sure the channel you're trying to close isn't performing a transaction.
if (! ((EODatabaseChannel )channels .objectAtIndex (j)).adaptorChannel().adaptorContext().hasOpenTransaction()) {
((EODatabaseChannel )channels.objectAtIndex(j)).adaptorChannel().closeChannel();
}
}


      }

This closes one of the two database connection, not both.

Is there a way to detect the one extra connection or not open the extra connection in the first place?

WOnder may have resolved this issue but adding WOnder is a bigger undertaking then I originally expected.
Paraphrasing Lou Reed, I just want some of it, not all of it.


Thanks

kib

"Success is not final, failure is not fatal: it is the courage to continue that counts.”
- Winston Churchill


Klaus Berkling
Systems Administrator
DynEd International, Inc.
www.dyned.com | www.eskimo.com/~kiberkli




_______________________________________________ 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

--

Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems.
http://www.global-village.net/products/practical_webobjects









Thanks

kib

"Success is not final, failure is not fatal: it is the courage to continue that counts.”
- Winston Churchill


Klaus Berkling
Systems Administrator
DynEd International, Inc.
www.dyned.com | www.eskimo.com/~kiberkli






--

Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems.
http://www.global-village.net/products/practical_webobjects






_______________________________________________
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


References: 
 >new EOObjectStoreCoordinator and closing database connection afterwards (From: Klaus Berkling <email@hidden>)
 >Re: new EOObjectStoreCoordinator and closing database connection afterwards (From: Chuck Hill <email@hidden>)
 >Re: new EOObjectStoreCoordinator and closing database connection afterwards (From: Klaus Berkling <email@hidden>)

  • Prev by Date: Re: new EOObjectStoreCoordinator and closing database connection afterwards
  • Next by Date: Re: [ANN] WO 5.4.2 javadoc tarball
  • Previous by thread: Re: new EOObjectStoreCoordinator and closing database connection afterwards
  • Next by thread: accessing mysql stored procedure?
  • Index(es):
    • Date
    • Thread