[
https://issues.jboss.org/browse/CDI-743?page=com.atlassian.jira.plugin.sy...
]
Matej Novotny edited comment on CDI-743 at 2/15/19 9:42 AM:
------------------------------------------------------------
Actually, I think that {{getCDIProvider()}} method should probably check upon every access
that the chosen provider (even the cached one) still returns non-null value from
{{getCDI()}}.
That, or better still, it should catch ISE from the invocation of {{getCDI()}} because
currently it doesn't take into consideration that providers would do that despite the
fact that {{getCDI()}} contract clearly states ISE as a valid "return" option.
Imagine a situation with multiple CDI providers and you read Weld's one first and
since no Weld container runs at the moment, it blows up with ISE. Now what{{CDI}} does is
that it stops iterating over all providers and proliferates this exception to you
effectively hiding remaining CDI providers that could have worked.
was (Author: manovotn):
Actually, I think that {{getCDIProvider()}} method should probably check upon every access
that the chosen provider (even the cached one) still returns non-null value from
{{getCDI()}}.
That, or it should catch ISE from the invocation of {{getCDI()}} because currently it
doesn't take into consideration that providers would do that.
Imagine a situation with multiple CDI providers and you read Weld's one first and
since no Weld container runs at the moment, it blows up with ISE. Now what{{CDI}} does is
that it stops iterating over all providers and proliferates this exception to you.
NPE when trying to get BeanManager after container was closed
-------------------------------------------------------------
Key: CDI-743
URL:
https://issues.jboss.org/browse/CDI-743
Project: CDI Specification Issues
Issue Type: Bug
Affects Versions: 2.0 .Final, 2.0.SP1
Environment: simple application that uses weld-se-core and cdi api.
Reporter: Doychin Bondzhev
Priority: Major
CDI.current() should produce IllegalStateException when there is no active container at
the moment.
Instead on the second call in the sample application CDI.current() returns null and that
results in NPE.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)