Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-19201

[GSS](7.3.z) Log WARN when EJB does not implement Business interface and is not compliant with EJB 3.2 spec

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Won't Do
    • Major
    • None
    • None
    • EJB
    • None

    Description

      From the specification every business interface need to be declared explicitly as a business interface by @Remote or @Local annotation or deployment descriptor.

      EJB 3.2 specification
      
      4.9.7 Session Bean’s Business Interface
      
      - The bean class must implement the interface or the interface must be designated as a local or remote business interface of the bean by means of the Local or Remote annotation or in the deployment descriptor.
      - All business interfaces must be explicitly designated as such if any of the following is true:
       - the bean exposes a no-interface view
       - any interface of the bean class is explicitly designated as a business interface of the bean by either of the following means:
        - using the Local or Remote annotation with a non-empty value on the bean class
        - using the Local or Remote annotation on the interface
        - in the deployment descriptor
      

      If EJB A implements I and EJB B extends A , EJB B must also declare it implements I in order to be spec compliant:

      public interface I {...}
       
      @Stateless
      public class A implements I {...}
       
      @Stateless
      public class B extends A {...}
      

      Attachments

        Issue Links

          Activity

            People

              psotirop@redhat.com Panagiotis Sotiropoulos
              psotirop@redhat.com Panagiotis Sotiropoulos
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: