[
https://issues.jboss.org/browse/CDI-519?page=com.atlassian.jira.plugin.sy...
]
Antoine Sabot-Durand commented on CDI-519:
------------------------------------------
what do you suggest?
# to forbid this or,
# to explicitly state that {{Instance<T>}} can be used to destroy any dependent
scoped bean instance of T.
In your example if we go for 1, there will be no solution to destroy the instance you
requested thru {{CDI}}
Instance.destroy() cannot be used for dependent bean instances not
created by the same Instance object
------------------------------------------------------------------------------------------------------
Key: CDI-519
URL:
https://issues.jboss.org/browse/CDI-519
Project: CDI Specification Issues
Issue Type: Clarification
Affects Versions: 1.2.Final
Reporter: Martin Kouba
5.6.1. The Instance interface:
{quote}
The method destroy() instructs the container to destroy the instance. The bean instance
passed to destroy() should be *a dependent scoped bean instance*, or...
{quote}
I think this should be more obvious. E.g. this wouldn't work correctly even though it
doesn't violate the spec:
{code:java}
@Dependent
class Bar {
}
class Foo {
@Inject
Instance<Bar> instance;
void ping() {
instance.destroy(CDI.current().select(Bar.class).get());
}
}
{code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)