]
RH Bugzilla Integration commented on WFLY-2493:
-----------------------------------------------
Vaclav Tunka <vtunka(a)redhat.com> changed the Status of [bug
EL cannot access public methods/fields of non-public classes
------------------------------------------------------------
Key: WFLY-2493
URL:
https://issues.jboss.org/browse/WFLY-2493
Project: WildFly
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: JSF
Environment: JBoss AS 7.2.0.Final
Reporter: Jonáš Trantina
Attachments: elresolver_stack, reproducer.zip
When trying to access public method/field of non-public class that implements public
interface via EL I get
{noformat}
java.lang.IllegalAccessException: Class javax.el.BeanELResolver can not access a member
of class X with modifiers "private"
{noformat}
E.g. accessing Collections.unmodifiableList(..).size() via EL will throw the exception,
because #unmodifiableList returns non-public implementation of List interface.
This is apparently caused by JDK-4071957 [1], but since that is opened for over 16 years,
it should be probably worth it to implement a workaround.
Workaround for this issue is setting setAccessible(true) on the method before invoking
it, thus suppress Java access checking.
I have attached a simple reproducer app as well as a stack trace of the exception.
[1]
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4071957
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: