Well either way I think I see how this works. Actually this is quite
similar to the kind of thing I am currently doing.

So a +1 to remove ThreadLocalStorage.

-Harish

On Mon, 9 Aug 2004 19:25:18 -0400, Howard Lewis Ship <[EMAIL PROTECTED]> wrote:
> The SPF creates a proxy that accesses another service, and a property
> provided by that service.  If the HibernateSession service is threaded
> and HibernateService is not, then *every* access to the
> HibernateSession service will, potentially, cause a new Hibernate
> session object to be created.
> 
> But I might be missing something; I was looking for a reasonable
> example, but I don't know the Hibernate APIs off the top of my head.
> 
> On Mon, 9 Aug 2004 13:45:53 -0400, Harish Krishnaswamy
> 
> 
> <[EMAIL PROTECTED]> wrote:
> > Why not make the HibernateSession service threaded and have the SPF go
> > to the HibernateService (which is essentially a hibernate session
> > factory service) to get a session? Why does a threaded service need to
> > be isolated? I guess I am missing something while trying to avoid the
> > wrapper service.
> >
> > -Harish
> >
> >
> >
> > On Mon, 9 Aug 2004 13:08:11 -0400, Howard Lewis Ship <[EMAIL PROTECTED]> 
> > wrote:
> > > Yes. My reasoning on why this is better:
> > >
> > > If you have a threaded service, say HibernateSessionHolder, which has
> > > getSession() and setSession() methods, then you can make use of
> > > ServicePropertyFactory.
> > >
> > > SPF can access the session proeprty of HibernateSessionHolder, to form
> > > a new service, HibernateSession ... whose interface is
> > > hibernate.Session.
> > >
> > > This hibernate.Session instance is a wrapper around your threaded
> > > holder service and, ultimately, the actual Session object.
> > >
> > > You can inject the HibernateSession service into your code directly.
> > > You can then access the Hibernate Session "normally" ... you don't
> > > have to de-reference through a holder service, or through a
> > > ThreadLocalMap or anything.
> > >
> > > This will clarify and simplify your code and make it easier to test
> > > (your only have to mock hibernate.Session, not ThreadLocalMap or any
> > > of the rest).
> > >
> > > The bridge service, created by SPF, isolates the service that is
> > > threaded from the other services, which can be ordinary singletons.
> > >
> > > On Mon, 9 Aug 2004 11:32:52 -0400, Harish Krishnaswamy
> > >
> > >
> > > <[EMAIL PROTECTED]> wrote:
> > > > Which means I have to have a threaded service now to wrap a thread
> > > > local item like the Hibernate session?
> > > >
> > > > -Harish
> > > >
> > > >
> > > >
> > > > On Mon, 9 Aug 2004 10:31:35 -0400, Howard Lewis Ship <[EMAIL 
> > > > PROTECTED]> wrote:
> > > > > In the dept. of general cleanups ... ThreadLocalStorage seemed like a
> > > > > good idea at the time, but with service-property:,
> > > > > ServicePropertyFactory and threaded/pooled services it doesn't seem to
> > > > > be such a good idea.  I don't forsee myself ever using it and would
> > > > > like to remove it. thoughts?
> > > > > --
> > > > > Howard M. Lewis Ship
> > > > > Independent J2EE / Open-Source Java Consultant
> > > > > Creator, Jakarta Tapestry
> > > > > Creator, Jakarta HiveMind
> > > > > http://howardlewisship.com
> > > > >
> > > > > ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > > >
> > > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > >
> > > >
> > >
> > > --
> > > Howard M. Lewis Ship
> > > Independent J2EE / Open-Source Java Consultant
> > > Creator, Jakarta Tapestry
> > > Creator, Jakarta HiveMind
> > > http://howardlewisship.com
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> 
> --
> Howard M. Lewis Ship
> Independent J2EE / Open-Source Java Consultant
> Creator, Jakarta Tapestry
> Creator, Jakarta HiveMind
> http://howardlewisship.com
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to