[cdi-dev] Clarify scopes and serialization

Romain Manni-Bucau rmannibucau at gmail.com
Mon Feb 2 10:50:44 EST 2015


in a standard tomcat yes but not in most of embedded ones...and that's
not the point anyway


Romain Manni-Bucau
@rmannibucau
http://www.tomitribe.com
http://rmannibucau.wordpress.com
https://github.com/rmannibucau


2015-02-02 16:50 GMT+01:00 Mark Struberg <struberg at yahoo.de>:
> but you HAVE to manually switch it off. By _default_ the serialization is on...
>
> LieGrue,
> strub
>
>
>
>
>> On Monday, 2 February 2015, 16:42, Romain Manni-Bucau <rmannibucau at gmail.com> wrote:
>> > @Mark: that's not true. 1) you can switch it off + I mainly spoke of
>> embedded case where it is true in 80% of cases
>>
>>
>> Romain Manni-Bucau
>> @rmannibucau
>> http://www.tomitribe.com
>> http://rmannibucau.wordpress.com
>> https://github.com/rmannibucau
>>
>>
>>
>> 2015-02-02 16:38 GMT+01:00 Mark Struberg <struberg at yahoo.de>:
>>>  Romain, that's not true. Tomcat by default ALWAYS serializes the
>> session at shutdown! Even if you don't have a cluster set up. This is also
>> required by the Servlets spec...
>>>
>>>  LieGrue,
>>>  strub
>>>
>>>
>>>
>>>
>>>
>>>>  On Monday, 2 February 2015, 16:23, Romain Manni-Bucau
>> <rmannibucau at gmail.com> wrote:
>>>>  > @Jozef: yes or no but supposing it it leads to the same result.
>>>>  Typically the case I care here is default tomcat one (+ embedded
>>>>  tomcat* ones) where session is never serialized so this constraint is
>>>>  not needed at all. That said having a SPI to add a serializer by bean
>>>>  (or default one) to avoid this constraint is awesome as well.
>>>>
>>>>
>>>>  Romain Manni-Bucau
>>>>  @rmannibucau
>>>>  http://www.tomitribe.com
>>>>  http://rmannibucau.wordpress.com
>>>>  https://github.com/rmannibucau
>>>>
>>>>
>>>>
>>>>  2015-02-02 16:10 GMT+01:00 Jozef Hartinger <jharting at redhat.com>:
>>>>>   Can you elaborate? If a bean has a normal scope (passivating), it
>> may need
>>>>>   to be passivated. Are you talking about using a serialization tool
>> that
>>>>  does
>>>>>   not require objects to implement Serializable and using such tool
>> to
>>>>>   passivate a context?
>>>>>
>>>>>   Jozef
>>>>>
>>>>>
>>>>>   On 02/01/2015 04:44 PM, Romain Manni-Bucau wrote:
>>>>>
>>>>>   Hi
>>>>>
>>>>>   +1 to clarify it. All normal scope dont need Serializable
>> constraint - even
>>>>>   session scope - and it makes sense to not respect it in a lot of
>> apps
>>>>>   without preventing these beans to be serializable thans their
>> proxies.
>>>>>
>>>>>   Best IMO is to either remove it or to allow a scope serializer
>> service to
>>>>  be
>>>>>   specified to keep it portable.
>>>>>
>>>>>   Wdyt?
>>>>>
>>>>>   Le 1 févr. 2015 13:36, "Antonio Goncalves"
>>>>  <antonio.goncalves at gmail.com> a
>>>>>   écrit :
>>>>>>
>>>>>>   Hi all,
>>>>>>
>>>>>>   I was reading the CDI 1.2 spec and couldn't clearly find
>> the way
>>>>>>   serialization and scopes work. The only explicit sentence I
>> found was :
>>>>>>
>>>>>>
>>>>>>   1.3.1. JSF example
>>>>>>   The @SessionScoped annotation defined in Section 2.4.1,
>> “Built-in scope
>>>>>>   types” is a scope
>>>>>>   type that specifies the lifecycle of instances of Login.
>> Managed beans
>>>>>>   with this scope must be
>>>>>>   serializable.
>>>>>>
>>>>>>
>>>>>>   The Weld documentation is a bit more explicit :
>>>>>>
>>>>>>   5.2. Built-in scopes
>>>>>>   Managed beans with scope @SessionScoped or @ConversationScoped
>> must be
>>>>>>   serializable, since the container passivates the HTTP session
>> from time
>>>>  to
>>>>>>   time.
>>>>>>
>>>>>>
>>>>>>   And in the Java EE Tutorial we find
>>>>>>   (http://docs.oracle.com/javaee/6/tutorial/doc/gjbbk.html) :
>>>>>>
>>>>>>   Beans that use session, application, or conversation scope
>> must be
>>>>>>   serializable, but beans that use request scope do not have to
>> be
>>>>>>   serializable.
>>>>>>
>>>>>>
>>>>>>   This even made be doubt about the application scope ?!?
>>>>>>
>>>>>>
>>>>>>   Any way, could we clarify this in the CDI spec ?
>>>>>>
>>>>>>
>>>>>>   --
>>>>>>   Antonio Goncalves
>>>>>>   Software architect, Java Champion and Pluralsight author
>>>>>>
>>>>>>   Web site | Twitter | LinkedIn | Pluralsight | Paris JUG |
>> Devoxx France
>>>>>>
>>>>>>   _______________________________________________
>>>>>>   cdi-dev mailing list
>>>>>>   cdi-dev at lists.jboss.org
>>>>>>   https://lists.jboss.org/mailman/listinfo/cdi-dev
>>>>>>
>>>>>>   Note that for all code provided on this list, the provider
>> licenses the
>>>>>>   code under the Apache License, Version 2
>>>>>>   (http://www.apache.org/licenses/LICENSE-2.0.html). For all
>> other ideas
>>>>>>   provided on this list, the provider waives all patent and
>> other
>>>>  intellectual
>>>>>>   property rights inherent in such information.
>>>>>
>>>>>
>>>>>
>>>>>   _______________________________________________
>>>>>   cdi-dev mailing list
>>>>>   cdi-dev at lists.jboss.org
>>>>>   https://lists.jboss.org/mailman/listinfo/cdi-dev
>>>>>
>>>>>   Note that for all code provided on this list, the provider
>> licenses the
>>>>  code
>>>>>   under the Apache License, Version 2
>>>>>   (http://www.apache.org/licenses/LICENSE-2.0.html). For all other
>> ideas
>>>>>   provided on this list, the provider waives all patent and other
>>>>  intellectual
>>>>>   property rights inherent in such information.
>>>>>
>>>>>
>>>>
>>>>  _______________________________________________
>>>>  cdi-dev mailing list
>>>>  cdi-dev at lists.jboss.org
>>>>  https://lists.jboss.org/mailman/listinfo/cdi-dev
>>>>
>>>>  Note that for all code provided on this list, the provider licenses the
>> code
>>>>  under the Apache License, Version 2
>>>>  (http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas
>> provided
>>>>  on this list, the provider waives all patent and other intellectual
>> property
>>>>  rights inherent in such information.
>>>>
>>



More information about the cdi-dev mailing list