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

remove overly strict Serialization requirements for @Inject method and ct parameters

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Minor Minor
    • 1.1.PFD
    • 1.0
    • Beans, Resolution
    • None

      Section 6.6.4 declares that:

      > If a producer method declares a passivating scope and:
      > ..
      > * has a parameter that does not resolve to a passivation capable
      > dependency,
      > then the container automatically detects the problem and
      > treats it as a deployment problem.

      Something like

      @Produces @SessionScoped @AutoAuthenticated
      public User getCurrentUser(MyConfig mc) {
      return ...

      (MyConfig is not Serializable and gets produced as @ApplicationScoped) would not be allowed.

      The same restriction currently applies to parameters of @Inject methods and constructors:
      >If a managed bean which declares a passivating scope:
      > has a ... , bean constructor parameter or initializer method parameter
      > that does not resolve to a passivation capable dependency, ...

      This maybe comes from simple @Inject setters which set the given method parameters 1:1 into class members. But for all other cases this restriction is just way too rigid.

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

                Created:
                Updated:
                Resolved: