Uploaded image for project: 'CDI TCK'
  1. CDI TCK
  2. CDITCK-481

org.jboss.cdi.tck.interceptors.tests.contract.interceptorLifeCycle.environment.Bar and org.jboss.cdi.tck.interceptors.tests.contract.aroundTimeout.bindings.TimingBean defines not valid method according to EJB spec

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 1.2.5.Final, 2.0.0.Alpha3
    • 1.2.4.Final
    • None
    • None

      Those session beans defines method called "ejbTimeout" which is together public. This is not valid according to EJB spec:

      4.9.6 Business Methods
      ..
      The method names can be arbitrary, but they must not start with “ejb” to avoid conflicts with
      the callback methods used by the EJB architecture.
      ...

      and

      4.9.8 Session Bean’s No-Interface View
      If the bean does not expose any other client views (local, remote, no-interface, 2.x
      Remote Home, 2.x Local Home, Web Service) and its implements clause is empty,
      the bean defines a no-interface view.

      All non-static public methods of the bean class and of any superclasses except
      java.lang.Object are exposed as business methods through the no-interface view.

      Note: This includes callback methods. The Bean Provider should exercise caution when choosing to expose callback methods as business methods through the no-interface view. The runtime context (e.g. transaction context, caller principal, operations allowed, etc.) for a method invoked as a callback can differ significantly from the context for the same method when invoked via a client invocation. In general, callback methods should not be exposed as business methods. Therefore, it is recommended that all non-business methods be assigned an access type other than public.

            tremes1@redhat.com Tomas Remes
            tremes1@redhat.com Tomas Remes
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: