ejb-spec
  1. ejb-spec
  2. EJB_SPEC-19

Decoupling the @Startup/@DependsOn annotations from the EJB component model

    Details

    • Type: New Feature New Feature
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 3.2
    • Fix Version/s: Future version
    • Labels:
      None

      Description

      Currently the EJB @Startup/@DependsOn annotations can only be used with @Singleton beans. The @Startup/@DependsOn annotations are actually a very useful and elegant way of declaratively listening to the container life-cycle and managing component inter-dependency. With the introduction of managed beans and CDI, there are not many good technical reasons why the @Startup/@DependsOn annotations should not be used in managed beans as well. Decoupling useful EJB services such as @Startup/@DependsOn from the component model moves towards removing one-off component models in Java EE in favor of unifying around managed beans/CDI.

      We currently allow this capability in Resin. The code looks like this:

      @ApplicationScoped
      @Startup
      @DependsOn(...)
      public class MyStartupBean {
      ...
      @PostConstruct
      public void init()

      { ... }
      ...
      @PreDestroy
      public void destroy() { ... }

      ...
      }

      It should also be possible to use @Startup/@DependsOn in CDI stereotypes so that developers can compose custom component types to meet the needs of their individual applications. The code for this could look like the following:

      @ApplicationScoped
      @Stereotype
      @Retention(RUNTIME)
      @Target(TYPE)
      @Startup
      @DependsOn(...)
      public @interface StartupComponent {}

        Activity

        Hide
        reza_rahman added a comment -

        One logical place for decoupled @Startup/@DependsOn annotations could be the common annotations JSR.

        Show
        reza_rahman added a comment - One logical place for decoupled @Startup/@DependsOn annotations could be the common annotations JSR.

          People

          • Assignee:
            marina vatkina
            Reporter:
            reza_rahman
          • Votes:
            11 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated: