[
https://issues.apache.org/jira/browse/MYFACES-3786?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13794263#comment-13794263
]
Leonardo Uribe commented on MYFACES-3786:
-----------------------------------------
I would prefer only one abstract method.
abstract void inject(Object instance, String scope)
and this one
void inject(Object instance)
with a default implementation that call inject(instance,null). But I like keep
things simple and avoid multiple methods in that part to override, so better
one abstract method, because after all, this method will be called only by JSF
internals. Anyway is the same.
Who defines the scope of the injected object in this case? JSF. So as long as
the bean container provides the scope we need, everything will work well. Any
disadvantage? I don't see anything from JSF perspective. We are providing the
necessary information to deal with the injection to the bean container, that's
it. It is up to the bean container how to deal with that.
Theorically there should be some structure that holds the injected reference to
call preDestroy in the right time. But in that sense, it is resposibility of
JSF to deal with that logic. If the instance is a Factory, FactoryFinder holds
the instances. If is an application scope artifact, the same and so on. There
is no need to hold both the creationalContext and the instance on the same
place, more if we consider that creationalContext is a implementation detail of
CDI.
> Web Container injection support should be provided for additional lifecycle
> artifacts (not just managed beans)
> --------------------------------------------------------------------------------------------------------------
>
> Key: MYFACES-3786
> URL: https://issues.apache.org/jira/browse/MYFACES-3786
> Project: MyFaces Core
> Issue Type: Task
> Components: JSR-344
> Reporter: Leonardo Uribe
> Assignee: Leonardo Uribe
> Fix For: 2.2.0
>
> Attachments: cdiELresolverWeb.zip, cdiELResolver.zip,
> cdiPartialViewContext.war, cdiPartialViewContext.zip, cdi.patch,
> cdiphaselistener1.patch, cdiphaselistener2.patch, cdirevised.patch,
> cdiValidatorSource.zip, cdiValidator.war, MYFACES-3786-1.patch,
> MYFACES-3786-2.patch
>
>
> This issue is all about how to inject beans into jsf artifacts.
> See JSF 2.2 section 5.4.1
> The problem here is in some point we need to give the control to the
> underlying environment to inject beans into the artifacts, but we don't know
> much about how to properly do it, so we need to try with examples.
--
This message was sent by Atlassian JIRA
(v6.1#6144)