[
https://issues.jboss.org/browse/CDI-360?page=com.atlassian.jira.plugin.sy...
]
Oliver Gierke commented on CDI-360:
-----------------------------------
If the bean is stateless (and I think at least application.scoped CDI beans are considered
to be stateless), what's the benefit of serializing the object instead of simply
creating a fresh instance? If I can opt-in into serialization instead of reconstitution,
fine. But if I am essentially forced to make *all* application components serializable
that feels highly invasive.
Beyond that: that still doesn't solve the {{@Dependent}} scenario, which even seems to
be the more problematic one.
NormalScoped Bean<T> should all be forced to implement
PassivationCapable
-------------------------------------------------------------------------
Key: CDI-360
URL:
https://issues.jboss.org/browse/CDI-360
Project: CDI Specification Issues
Issue Type: Bug
Components: Beans
Affects Versions: 1.0
Reporter: Mark Struberg
Priority: Blocker
When serializing a Contextual Reference of a CDI bean, we need to transport over it's
proxy. This proxy internally need to serialize it's Bean<T>. But this is only
really possible if the Bean implements PassivationCapable. Any attempt to use the type +
qualifier is doomed to fail, as this still leaves room for clashes. E.g. if an Extension
registers multiple Bean<T> with Object.class and @Default qualifier but a different
name (kind of Spring XML style).
6.6.2 comes most close to this requirement, though it doesn't really define that all
NormalScoped beans really need to implement PassivationCapable. At least it seems to point
into the right direction - but it's nowhere near a clear definition.
We should force Containers to check whether Bean<T> which serve a NormalScoped
scope do implement PassivationCapable.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira