[ 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)