doh. You were right that the OWB-616 was for a different issue rather than the one I am interested.

Do you have any suggestions about working around the unproxiable Hashtable issue?

On Wed, Oct 21, 2015 at 12:38 PM, Martin Kouba <mkouba@redhat.com> wrote:
Dne 21.10.2015 v 13:20 Emily Jiang napsal(a):
Thanks Martin!
The new final method on the Hashtable is

final boolean initHashSeedAsNeeded(int capacity)

I see. This package-private method was added in JDK7.


The change went as part of the following bug fix:

[1] http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8006593

As for the OWB-616 jira, I did not look at the actual fix, but I assume
the fix by the following comments. I might be wrong here.

<https://issues.apache.org/jira/browse/OWB-616#>
Mark Struberg
<https://issues.apache.org/jira/secure/ViewProfile.jspa?name=struberg>
added a comment - 01/Oct/11 19:12

I now changed the checks to allow private final and public/protected
static final methods.

Mark does not talk about non-static package-private methods, right? He talks about private final and public/protected static final => should work in Weld too.

If non-static package-private methods are allowed than the spec is violated. Unfortunately, it seems there's no tck test for this.



Thanks

Emily


On Wed, Oct 21, 2015 at 11:50 AM, Martin Kouba <mkouba@redhat.com
<mailto:mkouba@redhat.com>> wrote:

    Hi Emily,

    commments inline.

    Dne 21.10.2015 v 11:02 Emily Jiang napsal(a):

        CDI specification does not allow proxying a class with
        non-private final
        methods. The java.util.Hashtable class has a
        non-private final method added to the class in later versions
        of Java, so a CDI application that previously worked may break
        when updating the Java level.


    Just for the record: what's the name of the method?


        This issue was logged in CDI-527.

        OpenWebBeans fixed this via the jira
        (https://issues.apache.org/jira/browse/OWB-616).


    OWB-616 does not fix CDI-527 but CDI-159, i.e. a private final
    method does not cause a deployment problem. This works in Weld too.
    On the other hand, CDI-527 is still an open issue so we can't simply
    fix it. In theory, we could add a new feature of a non-portable
    mode. But non-portable mode is not intended to be commonly used.
    It's kind of a workaround.


        Can Weld fix this in the 2.3 or 2.2 trunk?


        --
        Thanks
        Emily
        =================
        Emily Jiang
        ejiang@apache.org <mailto:ejiang@apache.org>
        <mailto:ejiang@apache.org <mailto:ejiang@apache.org>>


        _______________________________________________
        weld-dev mailing list
        weld-dev@lists.jboss.org <mailto:weld-dev@lists.jboss.org>
        https://lists.jboss.org/mailman/listinfo/weld-dev


    --
    Martin Kouba
    Software Engineer
    Red Hat, Czech Republic




--
Thanks
Emily
=================
Emily Jiang
ejiang@apache.org <mailto:ejiang@apache.org>

--
Martin Kouba
Software Engineer
Red Hat, Czech Republic



--
Thanks
Emily
=================
Emily Jiang
ejiang@apache.org