[JBoss JIRA] (CDI-187) Clarify serializability requirements for interceptors/decorators
by Jozef Hartinger (Created) (JIRA)
Clarify serializability requirements for interceptors/decorators
----------------------------------------------------------------
Key: CDI-187
URL: https://issues.jboss.org/browse/CDI-187
Project: CDI Specification Issues
Issue Type: Clarification
Components: Contexts, Decorators, Interceptors
Affects Versions: 1.1.EDR1
Reporter: Jozef Hartinger
Fix For: 1.1.EDR2
The spec says:
{quote}A managed bean is passivation capable if and only if the bean class is serializable and all interceptors and decorators of
the bean *are serializable*.{quote}
The "interceptors and decorators of the bean *are serializable*" part is problematic. While it is fine to examine the defining class in case of standard interceptors/decorators, the question is: How to find out whether an extension-provided interceptor/decorator in serializable? It does not make sense to check the implementation of the Interceptor/Decorator interfaces nor to examine the class returned by Bean.getBeanClass() as that would break the abstraction.
IMHO, the spec should say that:
{quote}A managed bean is passivation capable if and only if the bean class is serializable and all interceptors and decorators of
the bean are *passivation capable*.{quote}
Where a standard interceptor/decorator would be passivation capable if and only if it implemented the Serializable interface whereas the following section of the spec would handle extension-provided interceptors/decorators.
{quote}A custom implementation of Bean is passivation capable if it implements the interface PassivationCapable. An imple-
mentation of Contextual that is not a bean is passivation capable if it implements both PassivationCapable and Serial-
izable.
{quote}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira