[ 
https://issues.apache.org/jira/browse/OWB-1416?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mark Struberg resolved OWB-1416.
--------------------------------
      Assignee: Mark Struberg
    Resolution: Won't Fix

I've looked at it again. Note the exact wording "A bean type must be proxyable 
if an injection point resolves to a bean" plus the definition of bean type:

See the paragraph "Bean types of a managed bean.
The unrestricted set of bean types for a managed bean contains the bean class, 
every superclass and all interfaces it implements directly or indirectly."

This is different from the types of the injection point. See the paragraph 
"Legal injection point types". That means that the full impl has to be 
proxyable, not just the type of the injection point.

> 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
>            Assignee: Mark Struberg
>            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