should be as simple as updating 3 files:

IUnitOfWorkFactory to
public interface IUnitOfWorkFactory : IDisposable

then implement the members here:
ActiveRecordUnitOfWorkFactory (empty member)
NHibernateUnitOfWorkFactory (call sessFactory.Dispose())

build, create patch, submit, done:)

On Oct 24, 10:43 am, "Ayende Rahien" <[EMAIL PROTECTED]> wrote:
> Please sumbit a patch with this
>
> On Fri, Oct 24, 2008 at 4:42 PM, Brian Rumschlag <[EMAIL PROTECTED]>wrote:
>
>
>
> > The problem is that the maintenance thread in the memcache client is
> > preventing an implicit Dispose() of the SF
> > I added an explicit dispose method to IUnitOfWorkFactory, called it at
> > the end of application, and everything shut down properly.
> > I'll try making the interface implement IDisposable instead.
>
> > On Oct 24, 10:16 am, "Ayende Rahien" <[EMAIL PROTECTED]> wrote:
> > > I don't think we call SF.Close();
> > > We just the the app domain shut down clean up all our resources.
>
> > > On Fri, Oct 24, 2008 at 3:47 PM, Jason Meckley <[EMAIL PROTECTED]
> > >wrote:
>
> > > > SessionFactory.Dispose() isn't called explicitly. not from what I can
> > > > see. I would assume this is done in NHibernateUnitOfWorkFactory which
> > > > holds the instance of the factory. but IUnitOfWorkFactory does not
> > > > implement IDisposable.
>
> > > > when the application ends the object is gone (for lack of a better
> > > > term).  I would assume that when IoC.Rest() is called this disposes
> > > > the windsor container, which in tern disposes components, etc.  if
> > > > that's the case then we may be able to update IUnitOfWorkFactory to
> > > > inherit IDisposable. then set sessionFactory.Dispose() int the
> > > > concrete member.
>
> > > > Thoughts?
>
> > > > On Oct 24, 9:17 am, Brian Rumschlag <[EMAIL PROTECTED]> wrote:
> > > > > I have an application that is using memcached as it's second-level
> > > > > cache.
>
> > > > > The MemCached library has a maintenance thread that runs until the
> > > > > caching system is destroyed by CacheProvider.Stop(), which is called
> > > > > by SessionFactory.Close.
>
> > > > > SessionFactory.Close is called by SessionFactory.Dispose(), but that
> > > > > doesn't seem to be getting called either.
>
> > > > > Obviously, you wouldn't want to close the SessionFactory when the
> > > > > UnitOfWork was disposed, but I can't find where in
> > > > > Rhino.Commons.NHibernate SessionFactory.Close is called.
>
> > > > > Any thoughts?
> > > > > Brian Rumschlag
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" 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/rhino-tools-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to