Java Mailing List Archive

http://www.gg3721.com/

Home » the NHibernate development list »

Re: [NHibernate-development] EmptyInterceptor SetSession / Session
 Factory Breaking Changes

Ayende Rahien

2008-06-18

Replies: Find Java Web Hosting

Author LoginPost Reply
Hm, this isn't really that good.
Consider all the things that wrap NH. There was a reason this was there, because you don't always control the call to OpenSession

On Thu, Jun 19, 2008 at 1:40 AM, Will Shaver <will.shaver@gmail.com> wrote:
It looks like Fabio did a bunch of work last weekend refactoring the session factory and other session factory related stuff. Based on the amount of code that was changed, I'm sure it was needed. Merging my project to the trunk, I did find one breaking change.
 
The previous versions called something like:

if
(isSessionScopedInterceptor)
 
interceptor.SetSession(sessionImpl);

on each Interceptor registered with the session. This was useful in that you could then overload this in the interceptor and then keep a reference to that session. This is now removed, which is easy enough to deal with - simply call the method manually after creating the session.

session = sessionFactory.OpenSession(interceptor);
interceptor.SetSession(session);

I of course only found out about this breaking change when running my interceptor unit tests. (How did I ever write software without unit tests? Who knows?!)

Instead, we should remove the SetSession(ISession session) method from the Interceptor interface and EmptyInterceptor implementation. This will force people to realize "ohh, if it isn't there, obviously it isn't being called by NHCore anymore." Then they will change it to non-virtual and call it themselves without needing to look into the source as I did...

 - Will

 

 


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Nhibernate-development mailing list
Nhibernate-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nhibernate-development


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Nhibernate-development mailing list
Nhibernate-development@(protected)
https://lists.sourceforge.net/lists/listinfo/nhibernate-development
©2008 gg3721.com - Jax Systems, LLC, U.S.A.