[cdi-dev] [JBoss JIRA] (CDI-362) No-interface view EJB proxying rules are less strict than CDI, leading to odd error reporting
Pete Muir (JIRA)
jira-events at lists.jboss.org
Thu Apr 4 13:15:47 EDT 2013
[ https://issues.jboss.org/browse/CDI-362?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12765057#comment-12765057 ]
Pete Muir commented on CDI-362:
-------------------------------
CDI descries what can't be proxied:
{quote}
The container uses proxies to provide certain functionality. Certain legal bean types cannot be proxied by the container:
* classes which don’t have a non-private constructor with no parameters,
* classes which are declared final,
* classes which have non-static, final methods with public, protected or default visibility,
* primitive types,
* and array types.
{quote}
and then goes on to say when and how these rules are applied:
{quote}
A bean type must be proxyable if an injection point resolves to a bean:
* that requires a client proxy, or
* that has an associated decorator, or
* that has a bound interceptor.
Otherwise, the container automatically detects the problem, and treats it as a deployment problem.
{quote}
To answer your specific questions:
1) Yes - CDI never looks at private methods when considering whether a type is proxyable.
2) non-private methods cannot be declared final in order to be proxied
> No-interface view EJB proxying rules are less strict than CDI, leading to odd error reporting
> ---------------------------------------------------------------------------------------------
>
> Key: CDI-362
> URL: https://issues.jboss.org/browse/CDI-362
> Project: CDI Specification Issues
> Issue Type: Bug
> Reporter: Pete Muir
> Fix For: 1.1.FD
>
>
> E.g.
> // allowed by EJB
> // disallowed by CDI
> @Stateful @RequestScoped
> public class MyBean {
> final void m() { };
> }
> public class Other {
> @EJB MyBean field; // PASS
> @Inject MyBean field; // FAIL - unproxyable
> }
--
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: http://www.atlassian.com/software/jira
More information about the cdi-dev
mailing list