The patch was simple, but the Unit Test is giving me fits.

I have a Mock CacheProvider working, that when it starts it spits off
a thread waiting for some signal to stop.

The Test then fires off another AppDomain to initialize the IoC
Container, and start the Unit of Work.

Unfortunately, when that call comes back, and the new AppDomain is
unloaded, the thread which should keep right on going, stops.
Also, the static variables I have to check the status of the
CacheProvider aren't the same inside of the new AppDomain.

I'm confused.

On Oct 24, 11:19 am, Jason Meckley <[EMAIL PROTECTED]> wrote:
> 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