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: