Uploaded image for project: 'CDI Specification Issues'
  1. CDI Specification Issues
  2. CDI-153

PassivationCapable producer method/field definition is ambiguous

XMLWordPrintable

    • Icon: Clarification Clarification
    • Resolution: Done
    • Icon: Major Major
    • 1.1.EDR
    • 1.0
    • Resolution
    • None

      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

              struberg Mark Struberg (Inactive)
              struberg Mark Struberg (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: