[cdi-dev] what Bean<T> implementations need to be PassivationCapable?

Mark Struberg struberg at yahoo.de
Tue Mar 19 08:39:08 EDT 2013


and what about PassivationCapable now? You missed the underlying point it seems. Do we need to blow up if a third party Bean<T> which is not PassivationCapable either is for a NormalScope or gets injecting into a NormalScoped bean?
Currently we don't force this it seems - or is 6.6.2 to be imterpreted that way?

LieGrue,
strub




----- Original Message -----
> From: Pete Muir <pmuir at redhat.com>
> To: Mark Struberg <struberg at yahoo.de>
> Cc: Romain Manni-Bucau <rmannibucau at gmail.com>; cdi-dev <cdi-dev at lists.jboss.org>
> Sent: Tuesday, March 19, 2013 12:43 PM
> Subject: Re: [cdi-dev] what Bean<T> implementations need to be PassivationCapable?
> 
> A "bean" is a Bean<T>.
> 
> A contextual instance is a contextual instance, a contextual reference is a 
> contextual reference.
> 
> On 18 Mar 2013, at 19:55, Mark Struberg <struberg at yahoo.de> wrote:
> 
>> 
>> 
>>  The question (once again) is whether the terminus 'bean' means the 
> Bean<T>, the Contextual Instance or the Contextual Reference.
>> 
>>  LieGrue,
>>  strub
>> 
>> 
>> 
>>>  ________________________________
>>>  From: Romain Manni-Bucau <rmannibucau at gmail.com>
>>>  To: Mark Struberg <struberg at yahoo.de> 
>>>  Cc: cdi-dev <cdi-dev at lists.jboss.org> 
>>>  Sent: Monday, March 18, 2013 7:52 PM
>>>  Subject: Re: [cdi-dev] what Bean<T> implementations need to be 
> PassivationCapable?
>>> 
>>> 
>>>  Hi
>>> 
>>> 
>>>  just to share my point of view on it (alread ydiscussed with Mark):
>>> 
>>> 
>>>  javadoc and spec both state this interface "Indicates that a 
> custom implementation of Bean or Contextual is passivation capable."
>>> 
>>> 
>>>  so a bean which doesn't impl it will not be passivation capable. 
> From my understanding it means the proxy can't be serialized/unserialized 
> without side effects.
>>> 
>>> 
>>>  If it is not the case then this interface would be useless.
>>> 
>>> 
>>>  Romain Manni-Bucau
>>>  Twitter: @rmannibucau
>>>  Blog: http://rmannibucau.wordpress.com/
>>>  LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>  Github: https://github.com/rmannibucau
>>> 
>>> 
>>> 
>>> 
>>>  2013/3/18 Mark Struberg <struberg at yahoo.de>
>>> 
>>>  Hi!
>>>> 
>>>>  By catching an issue we have with the custom Bean<T> 
> implementations provided by Spring Data,  I got aware of a possible issue with 
> PassivationCapable.
>>>> 
>>>>  Which Bean<T> need to implement PassivationCapable?
>>>> 
>>>>  6.6.1 seem to indicate that only beans or passivating scopes need a 
> PassivationCapable bean.
>>>> 
>>>>  But in this case: how does a container implement the NormalScope 
> proxies for such a Bean? Consider we inject such a Contextual Reference of such 
> a Bean<T> (which does _not_ implement PassivationCapable), e.g. 
> MyDataRepository into a @SessionScoped bean. And now clustering kicks in and we 
> propagate our @SessionScoped bean to another node.
>>>> 
>>>>  What happens with the proxy for MyDataRepository? How will it 
> 'reconnect' to the correct Bean<T> on the other side of the 
> cluster? Imo this is only possible if all Bean<T> properly implement 
> PassivationCapable.
>>>>  Or should we use the bean type + qualifiers to create a synthetic 
> passivationId? Does this hold waters?
>>>> 
>>>>  LieGrue,
>>>>  strub
>>>> 
>>>>  _______________________________________________
>>>>  cdi-dev mailing list
>>>>  cdi-dev at lists.jboss.org
>>>>  https://lists.jboss.org/mailman/listinfo/cdi-dev
>>>> 
>>> 
>>> 
>>> 
>> 
>>  _______________________________________________
>>  cdi-dev mailing list
>>  cdi-dev at lists.jboss.org
>>  https://lists.jboss.org/mailman/listinfo/cdi-dev
> 



More information about the cdi-dev mailing list