-
Feature Request
-
Resolution: Won't Do
-
Major
-
None
-
1.0
-
None
-
Release Notes
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:
public class Bar implements Serializable { @Inject private InjectionPoint ip; }
If the metadata of the Bar bean (Bean<Bar>) is not serializable, Bar cannot be passivated.