You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "David Jencks (JIRA)" <de...@myfaces.apache.org> on 2007/03/15 16:56:09 UTC
[jira] Commented: (MYFACES-1559) Proposal for dependency injection
and lifecycle method handling
[ https://issues.apache.org/jira/browse/MYFACES-1559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12481195 ]
David Jencks commented on MYFACES-1559:
---------------------------------------
Thanks for implementing this, I've hooked it up to geronimo and it seems to be working great!
> Proposal for dependency injection and lifecycle method handling
> ---------------------------------------------------------------
>
> Key: MYFACES-1559
> URL: https://issues.apache.org/jira/browse/MYFACES-1559
> Project: MyFaces Core
> Issue Type: New Feature
> Components: General
> Affects Versions: 1.2.0-SNAPSHOT
> Reporter: David Jencks
> Assigned To: Bernd Bohmann
> Fix For: 1.2.0-SNAPSHOT
>
> Attachments: MYFACES-1559-1.patch, MYFACES-1559-2.patch, MYFACES-1559-3.patch
>
>
> I'm opening this jira as a convenient place to put code samples in support of discussion on the dev list
> Based on my experience implementing dependency injection and lifecyle methods in the geronimo app client container and the geronimo-jetty integration, and inspired by the openejb3 code for this purpose, I'd like to propose that MyFaces consider using an interface similar to this for object creation and shutdown:
> public interface LifecycleProvider {
> /**
> * Create an object of the class with the supplied name, inject dependencies as appropriate,
> * and call a postContruct method as appropriate.
> *
> * @param className name of the class of the desired object
> * @return a fully constructed, dependency-injected, and initialized object.
> */
> Object newInstance(String className);
> /**
> * Take whatever steps are needed to shut down the object, including calling a preDestroy method.
> *
> * @param o object to shut down.
> */
> void destroyInstance(Object o);
> }
> It's easy to write an adapter between this and the AnnotationProcessor interface currently implemented.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.