Gurkan, thanks for your explanation.

You know, it's hard to always understand all the details, and to keep apart 
which things are important and which are simply left over artefacts :)

Oh, I slightly fine-tuned the isDependent stuff. It now doesn't only look at 
the annotation but uses more information from the underlying bean.

E.g. a BeanManagerBean can never be Dependent as is a ResourceBean.

LieGrue,
strub

--- Gurkan Erdogdu <[email protected]> schrieb am So, 21.2.2010:

> Von: Gurkan Erdogdu <[email protected]>
> Betreff: Re: OwnerCreational question
> An: [email protected]
> Datum: Sonntag, 21. Februar, 2010 22:54 Uhr
> I sent an explanation about this but
> I did not find it. Anyway, as I remember I added this for
> finding instances of bean from creational context stack.
> 
> For example lets say that A --> B --> C and A injects
> B, B injects C and C injects A
> 
> When C injects A it finds A over backtrace using B.stack
> --> A.stack. A.stack is owner creational context of
> B.stack.
> 
> Important point in circular injections is that there are
> two points in circular injections
> 1* Injection of instance 
> 2* Calling injected instance method in injecting bean :
> Injecting bean may call injected instance method. For
> example, it can be occur on circular injection over producer
> methods.
> A{
>   B b;
> }
> 
> //Adds incomplete instance A into creational context
> 
> C{
>  �...@produces B getB(A a) --> A proxy
>   {
>      a.someMethod(); -->Interceptor
> handler gets incomplete A to call interceptor methods.
>   }
> }
> 
> For calling interceptor on injected instance, you have to
> inject bean proxy as an injected instance into injecting
> bean. But InterceptorHandler tries to find actual instance,
> therefore you have to also push(incomplete instance) in
> AbstractInjectionTargetBean#createDefaultInstance.
> 
> --Gurkan
> 
> 
> 
> 
> ________________________________
> From: Mark Struberg <[email protected]>
> To: [email protected]
> Sent: Sun, February 21, 2010 10:45:07 PM
> Subject: OwnerCreational question
> 
> Hi!
> 
> Gurkan, I don't really understand why we need all the
> OwnerCreational stuff. The spec doesn't say anything and as
> mentioned in an old discussion there are imo only 2 things
> we need the CreationalContext at all:
> 
> 1.) for providing a really shortly timed storage while
> creating dependent contextual instances with circular
> dependencies. In this situation we use the push() to store
> 'incomplete' instances and after the instance got created
> (basically after the constructor) it's of no use any
> longer.
> (Btw, I think one single 'incompleteInstance' is not enough
> and we have to somehow support a List)
> 
> 2.) information about depedent contextual instances (and NO
> contextual references!) will be collected so we can destroy
> them after the bean where they got injected into has reached
> its end of life.
> 
> I also found a few issues in our current implementation
> 
> a) we currently also store system things like the
> BeanManager and Event sources as dependent object. This
> feels really wrong! 
> 
> b) we must not store instances which get injected via a
> proxy. A contextual reference is not a dependent contextual
> instance.
> 
> I'm not really sure why we need the
> OwnerCreationalContext.
> Either we have a dependent bean or the owner has it. But a
> dependent contextual instance is  per definition not
> injectable into 2 instances.
> 
> Please help me, I'm a bit brain overloaded today already
> :)
> 
> 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

Reply via email to