>>>So while the InterceptorProxy instance is 1:1 bound to the contextual
instance, the NormalScopedBeanProxy is 1:1 bound to >>>the injection point.
But there is no 1:1 relation between those 2 proxies but a n:m. And that is
what made the old code so >>>complicated to read, because all the resolving
needed to switch dynamically.

I am not the same here! I do not think that old code is so complex! It
creates interceptor/decorator stack once in the first method call and saves
it into creational context for later use.

This must not be the sole reason to change all logic completely.

--Gurkan


2010/3/24 Mark Struberg <[email protected]>

> hi sven!
>
> yes and no :)
>
> ad 1.) yes, I aim for separating those concerns into 2 different
> MethodHandlers which will get manifested in 2 proxy objects.
>
> ad 2.) the logic is really simple: If a bean defines interceptors or
> decorators, we create a contextual instance which includes this
> functionality. We do this by creating a proxy and 1:1 delegating to exactly
> the one contextual instance it serves. So for each contextual instance which
> needs to get intercepted/decorated, we create a single proxy to serve this
> purpose
>
> For all @NormalScoped beans, I'll create a NormalScopedBeanProxy which only
> serves to resolve the correct contextual instance (with any interception
> already applied) and delegates all method invocations to this underlying
> contextual instance.
>
> So while the InterceptorProxy instance is 1:1 bound to the contextual
> instance, the NormalScopedBeanProxy is 1:1 bound to the injection point. But
> there is no 1:1 relation between those 2 proxies but a n:m. And that is what
> made the old code so complicated to read, because all the resolving needed
> to switch dynamically.
>
> ad 3.) Yes, if the context is a passivating one, then the contextual
> instance (including all it's interceptors/decorators) will get serialized to
> that passivation storage. This is now exactly as it is defined in the spec!
>
> ad 4.) exactly!
>
> LieGrue,
> strub
>
>
> --- Sven Linstaedt <[email protected]> schrieb am Di,
> 23.3.2010:
>
> > Von: Sven Linstaedt <[email protected]>
> > Betreff: Re: attention - danger zone ;)
> > An: [email protected]
> > Datum: Dienstag, 23. März, 2010 23:17 Uhr
> > Hi Mark,
> >
> > just for my personal understanding: The proposed changes
> > imply:
> >
> > 1. Introducing two seperate MethodHandler. One for
> > resolving NormalScope
> > beans to the actual instance. Another one for applying the
> > interception/decoration stack.
> >
> > 2. As only one MethodHandler can be attached to proxy class
> > instances, for
> > dependent scoped beans the interception/decoration handler
> > is attached. For
> > normal scope instances the resolving handler is attached.
> >
> > 3. The interception/decoration MethodHandler including the
> > actual
> > interceptor/decorator instances is part of the bean state
> > (?), so it is
> > serialized to a normal scope along with the bean instance.
> >
> > 4. This implies the scope receives not the concrete bean
> > instance, but
> > rather the proxy class instance with attached
> > MethodHandler, which in turn
> > contains of the bean instance and interceptor/decorator
> > instances?
> >
> >
> > br, Sven
> >
> >
> > 2010/3/23 Mark Struberg <[email protected]>
> >
> > > The current NormalScopedBeanInterceptorHandler is a
> > subclass of the
> > > InterceptorHandler.
> > >
> > > But while the InterceptorHandler is fixed 1:1 to a
> > contextual instance, the
> > > proxy we need to handle the NormalScoped behaviour is
> > different for each and
> > > every injection point. There is currently a lot code
> > to work around this
> > > logical separation, but I consider this to be what it
> > is - a workaround. See
> > > my comments on OWB-329. Maybe I was not clear enough
> > and should elaborate
> > > further?
> > >
> > > txs and LieGrue,
> > > strub
> > >
> > > --- Gurkan Erdogdu <[email protected]>
> > schrieb am Di, 23.3.2010:
> > >
> > > > Von: Gurkan Erdogdu <[email protected]>
> > > > Betreff: Re: attention - danger zone ;)
> > > > An: [email protected]
> > > > Datum: Dienstag, 23. März, 2010 19:51 Uhr
> > > > >>>I'm currently refactoring
> > > > the decorator / interceptor stuff by
> > > > splitting the Interceptor and Decorator
> > MethodHandlers from
> > > > the
> > > > >>>NormalScopedBeanMethodHandler.
> > > > Why? Interceptor/Decorator is handled in the
> > abstract class
> > > > InterceptorHandler not in
> > NormalScopedBeanMethodHandler.
> > > >
> > > > What is the problem with current approach?
> > Currently
> > > > InterceptorHandler performs interceptor/decorator
> > stack for
> > > > bean just one case.
> > > >
> > > > Thanks;
> > > >
> > > > --Gurkan
> > > >
> > > >
> > > >
> > > >
> > > > ________________________________
> > > > From: Mark Struberg <[email protected]>
> > > > To: [email protected]
> > > > Sent: Tue, March 23, 2010 8:09:49 PM
> > > > Subject: attention - danger zone ;)
> > > >
> > > > Hi!
> > > >
> > > > I'm currently refactoring the decorator /
> > interceptor stuff
> > > > by splitting the Interceptor and Decorator
> > MethodHandlers
> > > > from the NormalScopedBeanMethodHandler.
> > > >
> > > > This will also allow implementing those parts as
> > pure
> > > > subclasses later.
> > > >
> > > > I'm back to only 2 broken tests and my real world
> > app is
> > > > running again.
> > > >
> > > > Please do not checkin big changes into SVN in
> > > > webbeans-impl.
> > > >
> > > > txs and LieGrue,
> > > > strub
> > > >
> > > >
> > __________________________________________________
> > > > Do You Yahoo!?
> > > > Sie sind Spam leid? Yahoo! Mail verfügt über
> > einen
> > > > herausragenden Schutz gegen Massenmails.
> > > > http://mail.yahoo.com
> > > >
> > > >
> > > >
> > > >
> > > >
> > ___________________________________________________________________
> > > > Yahoo! Türkiye açıldı!  http://yahoo.com.tr
> > > > İnternet üzerindeki en iyi içeriği Yahoo!
> > Türkiye
> > > > sizlere sunuyor!
> > >
> > > __________________________________________________
> > > Do You Yahoo!?
> > > Sie sind Spam leid? Yahoo! Mail verfügt über einen
> > herausragenden Schutz
> > > gegen Massenmails.
> > > http://mail.yahoo.com
> > >
> >
>
> __________________________________________________
> Do You Yahoo!?
> Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz
> gegen Massenmails.
> http://mail.yahoo.com
>



-- 
Gurkan Erdogdu
http://gurkanerdogdu.blogspot.com

Reply via email to