[
https://issues.jboss.org/browse/CDI-195?page=com.atlassian.jira.plugin.sy...
]
Jozef Hartinger commented on CDI-195:
-------------------------------------
No. You can inject the metadata into a passivation capable bean. Once you passivate an
instance of such bean, you have to passivate the metadata as well (since the instance
holds direct references to the metadata).
Clarify serializability requirements for extension-provided metadata
--------------------------------------------------------------------
Key: CDI-195
URL:
https://issues.jboss.org/browse/CDI-195
Project: CDI Specification Issues
Issue Type: Feature Request
Components: Portable Extensions
Affects Versions: 1.0
Reporter: Jozef Hartinger
Fix For: 1.1 (Proposed)
The spec never requires an extension-provided implementation of the Bean, Interceptor,
Decorator or InjectionPoint to be serializable. The implementation indicates, whether the
underlying bean is passivation capable by implementing PassivationCapable, but the
implementation itself does not have to be serializable.
For both the InjectionPoint bean and Bean metadata bean the spec says: "The built-in
implementation must be a passivation capable dependency". However, this is hard to
guarantee if an extension provides a non-serializable implementation of a
Bean/InjectionPoint interface, e.g. the following code would cause problems at
passivation:
{code:JAVA}
public class Bar implements Serializable {
@Inject
private InjectionPoint ip;
}
{code}
If the metadata of the Bar bean (Bean<Bar>) is not serializable, Bar cannot be
passivated.
--
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