Uploaded image for project: 'WildFly Core'
  1. WildFly Core
  2. WFCORE-3512

ClassReflectionIndexUtil does not return default methods from findMethod

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 4.0.0.Alpha7
    • None
    • Server
    • None

    Description

      This problem is in Wildfly Core, but manifests as an issue with EJB's in WildFly full.

      Given the following class/interface inheritance structure, the interface method doMagic could not be called from a remote view, even if there is a default implementation as given in the mixin interface. A local call works, but the remote call fails with a message like

      org.jboss.invocation.CannotProceedException: INV000002: Invocation cannot proceed (end of interceptor chain has been hit)
      

      Example code:

      @Remote
      interface MyEJBInterface {
         void doMagic();
      }
      
      interface MyEJBMixin extends MyEJBInterface {
         default void doMagic() { .... }
      }
      
      @Stateless
      class MyEJBBean extends MyEJBMixin {
      }
      
      

      The problem is inside the fix for WFLY-4354 bug, which checks only for the default method implementation in the interface declaring the method the first time but not in other interfaces.
      A example is attached and I will submitt a pull request with a fix.

      Attachments

        Activity

          People

            sdouglas1@redhat.com Stuart Douglas
            bda-shd.de Daniel Bildhauer (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: