<div dir="ltr">What about legacy applications running on new JDK7? The only workaround is that the customers have to update the app. Otherwise, their app won&#39;t start. This is not nice.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Oct 21, 2015 at 2:57 PM, Martin Kouba <span dir="ltr">&lt;<a href="mailto:mkouba@redhat.com" target="_blank">mkouba@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dne 21.10.2015 v 13:54 Emily Jiang napsal(a):<span class=""><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
doh. You were right that the OWB-616 was for a different issue rather<br>
than the one I am interested.<br>
<br>
Do you have any suggestions about working around the unproxiable<br>
Hashtable issue?<br>
</blockquote>
<br></span>
Well, the spec only requires the injection points to be validated, or rather the required bean types to be proxyable. So if you inject/use Map interface instead of Hashtable, the validation should pass.<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
<br>
On Wed, Oct 21, 2015 at 12:38 PM, Martin Kouba &lt;<a href="mailto:mkouba@redhat.com" target="_blank">mkouba@redhat.com</a><br></span><div><div class="h5">
&lt;mailto:<a href="mailto:mkouba@redhat.com" target="_blank">mkouba@redhat.com</a>&gt;&gt; wrote:<br>
<br>
    Dne 21.10.2015 v 13:20 Emily Jiang napsal(a):<br>
<br>
        Thanks Martin!<br>
        The new final method on the Hashtable is<br>
<br>
        final boolean initHashSeedAsNeeded(int capacity)<br>
<br>
<br>
    I see. This package-private method was added in JDK7.<br>
<br>
<br>
        The change went as part of the following bug fix:<br>
<br>
        [1] <a href="http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8006593" rel="noreferrer" target="_blank">http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8006593</a><br>
<br>
        As for the OWB-616 jira, I did not look at the actual fix, but I<br>
        assume<br>
        the fix by the following comments. I might be wrong here.<br>
<br>
        &lt;<a href="https://issues.apache.org/jira/browse/OWB-616#" rel="noreferrer" target="_blank">https://issues.apache.org/jira/browse/OWB-616#</a>&gt;<br>
        Mark Struberg<br>
        &lt;<a href="https://issues.apache.org/jira/secure/ViewProfile.jspa?name=struberg" rel="noreferrer" target="_blank">https://issues.apache.org/jira/secure/ViewProfile.jspa?name=struberg</a>&gt;<br>
        added a comment - 01/Oct/11 19:12<br>
<br>
        I now changed the checks to allow private final and public/protected<br>
        static final methods.<br>
<br>
<br>
    Mark does not talk about non-static package-private methods, right?<br>
    He talks about private final and public/protected static final =&gt;<br>
    should work in Weld too.<br>
<br>
    If non-static package-private methods are allowed than the spec is<br>
    violated. Unfortunately, it seems there&#39;s no tck test for this.<br>
<br>
<br>
<br>
        Thanks<br>
<br>
        Emily<br>
<br>
<br>
        On Wed, Oct 21, 2015 at 11:50 AM, Martin Kouba<br>
        &lt;<a href="mailto:mkouba@redhat.com" target="_blank">mkouba@redhat.com</a> &lt;mailto:<a href="mailto:mkouba@redhat.com" target="_blank">mkouba@redhat.com</a>&gt;<br></div></div><div><div class="h5">
        &lt;mailto:<a href="mailto:mkouba@redhat.com" target="_blank">mkouba@redhat.com</a> &lt;mailto:<a href="mailto:mkouba@redhat.com" target="_blank">mkouba@redhat.com</a>&gt;&gt;&gt; wrote:<br>
<br>
             Hi Emily,<br>
<br>
             commments inline.<br>
<br>
             Dne 21.10.2015 v 11:02 Emily Jiang napsal(a):<br>
<br>
                 CDI specification does not allow proxying a class with<br>
                 non-private final<br>
                 methods. The java.util.Hashtable class has a<br>
                 non-private final method added to the class in later<br>
        versions<br>
                 of Java, so a CDI application that previously worked<br>
        may break<br>
                 when updating the Java level.<br>
<br>
<br>
             Just for the record: what&#39;s the name of the method?<br>
<br>
<br>
                 This issue was logged in CDI-527.<br>
<br>
                 OpenWebBeans fixed this via the jira<br>
                 (<a href="https://issues.apache.org/jira/browse/OWB-616" rel="noreferrer" target="_blank">https://issues.apache.org/jira/browse/OWB-616</a>).<br>
<br>
<br>
             OWB-616 does not fix CDI-527 but CDI-159, i.e. a private final<br>
             method does not cause a deployment problem. This works in<br>
        Weld too.<br>
             On the other hand, CDI-527 is still an open issue so we<br>
        can&#39;t simply<br>
             fix it. In theory, we could add a new feature of a non-portable<br>
             mode. But non-portable mode is not intended to be commonly<br>
        used.<br>
             It&#39;s kind of a workaround.<br>
<br>
<br>
                 Can Weld fix this in the 2.3 or 2.2 trunk?<br>
<br>
<br>
                 --<br>
                 Thanks<br>
                 Emily<br>
                 =================<br>
                 Emily Jiang<br>
        <a href="mailto:ejiang@apache.org" target="_blank">ejiang@apache.org</a> &lt;mailto:<a href="mailto:ejiang@apache.org" target="_blank">ejiang@apache.org</a>&gt;<br>
        &lt;mailto:<a href="mailto:ejiang@apache.org" target="_blank">ejiang@apache.org</a> &lt;mailto:<a href="mailto:ejiang@apache.org" target="_blank">ejiang@apache.org</a>&gt;&gt;<br>
                 &lt;mailto:<a href="mailto:ejiang@apache.org" target="_blank">ejiang@apache.org</a> &lt;mailto:<a href="mailto:ejiang@apache.org" target="_blank">ejiang@apache.org</a>&gt;<br>
        &lt;mailto:<a href="mailto:ejiang@apache.org" target="_blank">ejiang@apache.org</a> &lt;mailto:<a href="mailto:ejiang@apache.org" target="_blank">ejiang@apache.org</a>&gt;&gt;&gt;<br>
<br>
<br>
                 _______________________________________________<br>
                 weld-dev mailing list<br>
        <a href="mailto:weld-dev@lists.jboss.org" target="_blank">weld-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:weld-dev@lists.jboss.org" target="_blank">weld-dev@lists.jboss.org</a>&gt;<br></div></div>
        &lt;mailto:<a href="mailto:weld-dev@lists.jboss.org" target="_blank">weld-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:weld-dev@lists.jboss.org" target="_blank">weld-dev@lists.jboss.org</a>&gt;&gt;<span class=""><br>
        <a href="https://lists.jboss.org/mailman/listinfo/weld-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/weld-dev</a><br>
<br>
<br>
             --<br>
             Martin Kouba<br>
             Software Engineer<br>
             Red Hat, Czech Republic<br>
<br>
<br>
<br>
<br>
        --<br>
        Thanks<br>
        Emily<br>
        =================<br>
        Emily Jiang<br>
        <a href="mailto:ejiang@apache.org" target="_blank">ejiang@apache.org</a> &lt;mailto:<a href="mailto:ejiang@apache.org" target="_blank">ejiang@apache.org</a>&gt;<br></span>
        &lt;mailto:<a href="mailto:ejiang@apache.org" target="_blank">ejiang@apache.org</a> &lt;mailto:<a href="mailto:ejiang@apache.org" target="_blank">ejiang@apache.org</a>&gt;&gt;<span class=""><br>
<br>
<br>
    --<br>
    Martin Kouba<br>
    Software Engineer<br>
    Red Hat, Czech Republic<br>
<br>
<br>
<br>
<br>
--<br>
Thanks<br>
Emily<br>
=================<br>
Emily Jiang<br>
<a href="mailto:ejiang@apache.org" target="_blank">ejiang@apache.org</a> &lt;mailto:<a href="mailto:ejiang@apache.org" target="_blank">ejiang@apache.org</a>&gt;<br>
</span></blockquote><div class="HOEnZb"><div class="h5">
<br>
-- <br>
Martin Kouba<br>
Software Engineer<br>
Red Hat, Czech Republic<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature">Thanks<br>Emily<br>=================<br>Emily Jiang<br><a href="mailto:ejiang@apache.org" target="_blank">ejiang@apache.org</a><br></div>
</div>