The main reason is that the current logic over the time stores all beans into 
the CreationalContext of my @ConversationScoped bean (even normalscoped ones) 
so this causes mem leaks and crashes when trying to passivate this context.

LieGrue,
strub

--- Gurkan Erdogdu <[email protected]> schrieb am Mi, 24.3.2010:

> Von: Gurkan Erdogdu <[email protected]>
> Betreff: Re: attention - danger zone ;)
> An: [email protected]
> Datum: Mittwoch, 24. März, 2010 12:23 Uhr
> >>>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
> 

__________________________________________________
Do You Yahoo!?
Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen 
Massenmails. 
http://mail.yahoo.com

Reply via email to