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@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 | TwitterLinkedIn | Pluralsight | Paris JUG | Devoxx France

_______________________________________________
cdi-dev mailing list
cdi-dev@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.