[ 
https://issues.apache.org/jira/browse/OWB-1416?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17627601#comment-17627601
 ] 

Alexander Larsen commented on OWB-1416:
---------------------------------------

This is what i think might be the misinterpretation of the spec. I can not see 
any places where it says the proxied interface must be a subclass of the impl, 
i actually think the spec indicates the opposite(although vaugely) as I tried 
to describe in the ticket description. But I have only read the spec, not 
looked at the TCK.

I've seen some old mailing list conversations about this problem, which refers 
to this part of the spec
{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}
the part that is missed here is the bean type *injected* must be proxyable, not 
all types of the bean.

Isn't the point of having an type argument on {{BeanManager.getReference}} is 
to indicate what the proxy must implement?

> Possible misintepretation of spec regarding Unproxyable bean types
> ------------------------------------------------------------------
>
>                 Key: OWB-1416
>                 URL: https://issues.apache.org/jira/browse/OWB-1416
>             Project: OpenWebBeans
>          Issue Type: Bug
>            Reporter: Alexander Larsen
>            Priority: Major
>
> OWB seems to throw an exception for all unproxyable normal scoped beans. I 
> think that this might be incorrect.
> The 
> [specification|https://docs.jboss.org/cdi/spec/2.0/cdi-spec.html#unproxyable] 
> says the "A bean type must be proxyable if an injection point resolves to a 
> bean", not that all the types of the bean must be proxyable. In other words, 
> as long as the bean is a legal bean, and all injection point resolving to 
> this bean is a proxyable type - no exception should be thrown.
> In the part about [contextual 
> references|https://docs.jboss.org/cdi/spec/2.0/cdi-spec.html#contextual_reference],
>  there is further indications that unproxyable types should be allowed in the 
> set of types for the bean. It's only when you try to get a reference(injected 
> or by bean manager) to an unproxyable type, and the bean must be proxied 
> (normal scoped, intercepted or decorated) an exception should thrown.
> Also, the [Weld user guide suggests introducing an interface as a solution to 
> having an unproxyable 
> bean|https://docs.jboss.org/weld/reference/latest/en-US/html_single/#_client_proxies].
> The current OWB implementation makes a pattern of having an interface and 
> (one or more) implementation class with final fields/methods somewhat 
> difficult :)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to