PassivationCapable producer method/field definition is ambiguous
----------------------------------------------------------------
Key: CDI-153
URL:
https://issues.jboss.org/browse/CDI-153
Project: CDI Specification Issues
Issue Type: Clarification
Components: Resolution
Affects Versions: 1.0
Reporter: Mark Struberg
Fix For: 1.1 (Proposed)
Currently the spec paragraph 6.6.1 and 6.6.4 contradict themselfs a bit
6.6.1 (which is an overview) defines:
• A producer method is passivation capable if and only if it never returns a value which
is not passivation capable at runtime. A producer method with a primitive return type or a
return type that implements or extends Serializable is passivation capable. A producer
method with a return type that is declared final and does not implement Serializable is
not passivation capable.
• A producer field is passivation capable if and only if it never refers to a value which
is not passivation capable at runtime. A producer field with a primitive type or a type
that implements or extends Serializable is passivation cap- able. A producer field with a
type that is declared final and does not implement Serializable is not passivation cap-
able.
and 6.6.4:
If a producer field declares a passivating scope and:
• the container is able to determine that it is not passivation capable by inspecting its
type,
then the container automatically detects the problem and treats it as a deployment
problem.
In some cases, the container is not able to determine whether a producer method or field
is passivation capable. If a produ- cer method or field which declares a passivating scope
returns an unserializable object at runtime, the container must throw an
IllegalProductException. If a producer method or field of scope @Dependent returns an
unserializable object for injection into an injection point that requires a passivation
capable dependency, the container must throw an Illegal- ProductException
--
This message is automatically generated by JIRA.
For more information on JIRA, see: