Fabio, Regarding this one about connections... I had a quick look at this and the thing that sort of fooled me was the fact that (using ConnectionReleaseMode.AfterTransaction) not only was the connection closed but also the connection was set to null so when touching the connection prop of ISession after a transaction is committed, a _new_ connection is created. Neither was session's closed field set. My asserts therefore fooled me.
The good thing is that I now understand what you talked about should happen :) The bad thing is... Is this really good? Wouldn't it be better if the old connection still was alive but closed? Would be more clear to the user if this handling would be more explicit by the user I think.... Is current impl by design or a bug? (I'm talking about connection==null, connectionmanager row 185). /Roger -----Original Message----- From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Roger Kratz Sent: den 2 oktober 2008 00:11 To: [email protected] Subject: [nhusers] SV: [nhusers] Re: SV: [nhusers] Re: SV: [nhusers] Understanding how NH handles database connections I double checked it, asserting in some tests in the trunk of nh tests to verify that nothing is wrong in my apps config and/or unitofwork impl. And yes - it seems that I'm correct. ...but please don't believe me too much. Late here in Sweden and I worked far too many hours. My eyes can fool me... /Roger ________________________________ Från: [email protected] [EMAIL PROTECTED] för Fabio Maulo [EMAIL PROTECTED] Skickat: den 2 oktober 2008 00:01 Till: [email protected] Ämne: [nhusers] Re: SV: [nhusers] Re: SV: [nhusers] Understanding how NH handles database connections Are you sure ? The default connection release mode is "auto" that mean AfterTransaction... mmm I must improve the logging of connection manager to check it. 2008/10/1 Roger Kratz <[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>> Hmm... I must miss something or maybe I misunderstand your but... When I commit an ITransaction, the db connection is still open. ________________________________ Från: [email protected]<mailto:[email protected]> [EMAIL PROTECTED]<mailto:[email protected]>] för Fabio Maulo [EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>] Skickat: den 1 oktober 2008 23:38 Till: [email protected]<mailto:[email protected]> Ämne: [nhusers] Re: SV: [nhusers] Understanding how NH handles database connections Disconnect/Reconnect are pretty deprecated.. If you are outside a transaction the connection is released after command execution (depending on command batcher too). If you are inside a transaction NH release the connection after transaction complete. If you open a session using your connection NH give you the responsibility to do what you want with it. 2008/10/1 Roger Kratz <[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]><mailto:[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>>> You can open/close the connection using session.Disconnect()/Reconnect() which is recommended if you hang on to the session for a while. If you use long lived session I agree that it might feel better if the created session was closed (disconnected).to start with. I guess the choosen path is chosen due to the "normal handling" of session which is short lived. ________________________________________ Från: [email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>> [EMAIL PROTECTED]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>>] för Joe [EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]><mailto:[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>>] Skickat: den 1 oktober 2008 23:04 Till: nhusers Ämne: [nhusers] Understanding how NH handles database connections I am trying to understand how NH handles the actual ADO.NET<http://ADO.NET><http://ADO.NET> connection. For example, when I request ISession.Connection, I get an OPEN IDbConnection. The connection appears to stay open until ISession.Close is called. Is this the expected behavior? I was trying to use the ADO connection provided by NH and was surprised to find it already opened. I was expecting to have to open and close the connection. If I need to use the connection from ISession, should I not worry about opening and closing it? Thanks, Joe -- Fabio Maulo -- Fabio Maulo --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/nhusers?hl=en -~----------~----~----~----~------~----~------~--~---
