[jboss-jira] [JBoss JIRA] (WFCORE-3512) EJBs can't inherit a JDK8 default method when default implementation is in a third interface
Stuart Douglas (JIRA)
issues at jboss.org
Tue Jan 16 22:41:00 EST 2018
[ https://issues.jboss.org/browse/WFCORE-3512?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stuart Douglas moved WFLY-9680 to WFCORE-3512:
----------------------------------------------
Project: WildFly Core (was: WildFly)
Key: WFCORE-3512 (was: WFLY-9680)
Component/s: Server
(was: EJB)
Affects Version/s: (was: 10.1.0.Final)
(was: 11.0.0.Final)
> EJBs can't inherit a JDK8 default method when default implementation is in a third interface
> --------------------------------------------------------------------------------------------
>
> Key: WFCORE-3512
> URL: https://issues.jboss.org/browse/WFCORE-3512
> Project: WildFly Core
> Issue Type: Bug
> Components: Server
> Reporter: Daniel Bildhauer
> Assignee: Stuart Douglas
> Attachments: ejb-in-ear.zip, wildfly-ejb-in-ear-ear.ear
>
>
> 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
> {code}
> org.jboss.invocation.CannotProceedException: INV000002: Invocation cannot proceed (end of interceptor chain has been hit)
> {code}
> Example code:
> {code}
> @Remote
> interface MyEJBInterface {
> void doMagic();
> }
> interface MyEJBMixin extends MyEJBInterface {
> default void doMagic() { .... }
> }
> @Stateless
> class MyEJBBean extends MyEJBMixin {
> }
> {code}
> 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.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the jboss-jira
mailing list