[
https://issues.jboss.org/browse/CDI-740?page=com.atlassian.jira.plugin.sy...
]
Matej Novotny commented on CDI-740:
-----------------------------------
bq. Is this intentional, are there any valid uses cases for them, or is it just an
oversight?
Does it even make sense to ask this? Accessing fields directly is undesirable as a (java)
practice in the first place...
Anyway, I have no idea if it was intentional back when it was specified this way but
adjusting it now will cause backward compat. problems as now working applications would
suddenly crash during bootstrap.
Proxy fields can be accessed if they are protected or package
private
---------------------------------------------------------------------
Key: CDI-740
URL:
https://issues.jboss.org/browse/CDI-740
Project: CDI Specification Issues
Issue Type: Bug
Components: Beans, Contexts, Java EE integration
Environment: IBM WebSphere Liberty, Java EE 7.0 Full Platform
Reporter: Frigo Coder
Priority: Major
CDI detects and rejects proxyable beans if they expose a public field. However protected
and package private fields are silently accepted. In the following example the method
returns 0 instead of the correct value of 8:
{code:java}
@ApplicationScoped
public class Car {
@Inject
private Engine engine;
public int numberOfEngineCylinders() {
return engine.cylinders;
}
}
@RequestScoped
public class Engine {
protected int cylinders;
@PostConstruct
public void init() {
cylinders = 8;
}
}
{code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)