[ https://issues.apache.org/jira/browse/OWB-1416?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17627615#comment-17627615 ]
Romain Manni-Bucau commented on OWB-1416: ----------------------------------------- Well yes and no, `getReference` is a good example of the previous point: "by any client proxy that is returned" so it must impl any bean type cause you don't know with which value it will be called - keep in mind it can be dynamic using reflection too - so to respect the spec (tck+pdf+javadoc) you must impl it as OWB did. Agree it can not be the most convenient but weld ecosystem is also know to not respect the spec everywhere (bypassing proxies for app scoped injections in some cases for ex - it is a good optimization by itself but which breaks other parts of the spec for ex) so not sure it is a good reference for this particular 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 > 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)