[cdi-dev] [JBoss JIRA] (CDI-527) allow proxying of classes with non-private final methods

Tomas Remes (JIRA) issues at jboss.org
Wed Oct 21 10:21:00 EDT 2015

    [ https://issues.jboss.org/browse/CDI-527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13120547#comment-13120547 ] 

Tomas Remes commented on CDI-527:

I am not sure I follow on this. On the NIV's it's explicitly stated in {{4.9.8 Session Bean’s No-Interface View}} that:
Only private methods of the bean class and any superclasses except java.lang.Object
may be declared final.
There is no problem from CDI point of view AFAIK.  In the case of interface view types I can't see any problem as well because the proxy instance is created for the interface type (not impl) which has all methods public and not final. What's the reason for CDI to behave differently? In fact I think we can't supress EJB validations anyway. 

> allow proxying of classes with non-private final methods
> --------------------------------------------------------
>                 Key: CDI-527
>                 URL: https://issues.jboss.org/browse/CDI-527
>             Project: CDI Specification Issues
>          Issue Type: Feature Request
>          Components: Beans
>    Affects Versions: 1.2.Final
>            Reporter: Mark Struberg
>            Assignee: Mark Struberg
>             Fix For: 2.0 (proposed)
> Currently we explicitly disallow proxying of classes with non-private final methods. 
> EJB _does_ allow this. And there are a few final methods in the JDK and other libs. E.g. HashMap#initHashSeedAsNeeded. Currently we cannot have a producer method for it.
> We might rethink our decision and allow it. Probably with an own annotation like @AllowProxying which disables this check for certain cases (subclass managed-beans or producers).

This message was sent by Atlassian JIRA

More information about the cdi-dev mailing list