While verifying the behavior of decorated dependent scoped beans on
OpenWebBeans, Gurkan mentioned that he observed the same behavior on WELD.
While verifying myself I noticed two behaviors that seem to conflict with
the spec.
1) Non-normal scoped beans don't have any restrictions on public fields. A
quick test showed that changes made to public fields directly are not
reflected when a call to a getter method that returns that value of the
public field is made. Presumably this is because there is an proxy like
object in the middle.
For example
@Inject MyBean myBean;
myBean.number = 7;
myBean.getNumber(); //would return the default value for number and not 7
which it was just set to.
2) Non-normal scoped beans don't require a public no-args constructor. If
the dependent scoped bean instead had a constructor annotated with @Inject
(as per 3.1.1), an InstantiationException was thrown.
Are these expected restrictions once that dependent scoped bean is
Decorated?
Sincerely,
Joe