Thanks Martin!
The new final method on the Hashtable is
final boolean initHashSeedAsNeeded(int capacity) 
The change went as part of the following bug fix:


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.

Mark Struberg added a comment - 01/Oct/11 19:12

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



On Wed, Oct 21, 2015 at 11:50 AM, Martin Kouba <> 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 (

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?

Emily Jiang <>

weld-dev mailing list

Martin Kouba
Software Engineer
Red Hat, Czech Republic

Emily Jiang