[
https://jira.jboss.org/jira/browse/WELD-310?page=com.atlassian.jira.plugi...
]
Nicklas Karlsson commented on WELD-310:
---------------------------------------
I'm not sure if it's the same issue but I've seen the case where you have a
@Produces @FooDB @PersistenceContext private EntityManager db;
@Inject @FooDB EntityManager fooDb;
in the same bean.
Debugging shows that injection goes OK but upon calling, the producer field line
public T produce(CreationalContext<T> creationalContext)
{
// unwrap if we have a proxy
return
field.get(InterceptionUtils.getRawInstance(getReceiver(creationalContext)));
}
still returns a proxy to the bean, resulting in a null product. The getReceiver has the
following comment
// This is a bit dangerous, as it means that producer methods can end of
// executing on partially constructed instances. Also, it's not required
// by the spec...
;-)
Producer called on Bean that is under construction
--------------------------------------------------
Key: WELD-310
URL:
https://jira.jboss.org/jira/browse/WELD-310
Project: Weld
Issue Type: Bug
Components: Producers (Methods, Fields and Disposers)
Affects Versions: 1.0.0.GA
Reporter: Gavin King
Fix For: 1.0.1.CR1
The following code results in a call to Foo.foo() for a bean that has not yet been fully
constructed:
class Bar {
@Inject void injectFoo(Foo foo) {}
@Produces Foo produceFoo() { return new Foo(); }
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira