[weld-issues] [JBoss JIRA] Commented: (WELD-301) ProducerMethod.checkProducerMethod only checked method declarations in direct implemented interface and not super interfaces

Carlo de Wolf (JIRA) jira-events at lists.jboss.org
Mon Nov 23 03:44:36 EST 2009


    [ https://jira.jboss.org/jira/browse/WELD-301?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12496005#action_12496005 ] 

Carlo de Wolf commented on WELD-301:
------------------------------------

EJB 3.1 FR 4.9.7 bullet 3:
• The interface is allowed to have superinterfaces.

EJB 3.1 FR 4.9.7 bullet 5.2:
• A bean class is permitted to have more than one interface. If a bean class has more
  than one interface—excluding the interfaces listed below—any business interface of
  the bean class must be explicitly designated as a business interface of the bean by
  means of the Local or Remote annotation on the bean class or interface or in the
  deployment descriptor.

Since both interfaces are annotated with @Local I would consider both interfaces to be valid local business interfaces.

> ProducerMethod.checkProducerMethod only checked method declarations in direct implemented interface and not super interfaces
> ----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: WELD-301
>                 URL: https://jira.jboss.org/jira/browse/WELD-301
>             Project: Weld
>          Issue Type: Bug
>    Affects Versions: 1.0.0.GA
>         Environment: X86/Ubuntu
>            Reporter: Hong Zhang
>            Assignee: Pete Muir
>            Priority: Critical
>             Fix For: 1.0.1.CR1
>
>
> I am investigating the deployment failure when running org.jboss.jsr299.tck.tests.implementation.producer.method.definition.enterprise.EnterpriseProducerMethodDefinitionTest.
> The deployment failed due to some validation failure in weld RI code. It complains that produceLightYellowPear method of LightYellowPearTree is not declared in LightYellowPearTree business interface. But LightYellowTree implements LightYellowPearTreeLocal which extends from PearTreeLocal which delares the produceLightYellowPear method.
> This seems a weld RI bug to me after stepping into the RI code:
> In ProducerMethod.checkProducerMethod, when it's a session bean, it will check for its implemented interface and super class for whether they declared this business method. But the problem is it only goes to its direct implemented interface and not the interface hierarchy. In this case it's true that the LightYellowPearTreeLocal does not declare this method, but PearTreeLocal which the LightYellowPearTreeLocal extends from does declare this method. The RI code should be modified to check for the whole interface hierarchy and not just the direct implemented interface.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       



More information about the weld-issues mailing list