[
https://issues.apache.org/jira/browse/MYFACES-1761?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12541363
]
Bernhard Huemer commented on MYFACES-1761:
------------------------------------------
I guess I have to agree that the specification leaves room to interpretation
and I understand your point of view, but I wouldn't go so far as you. In fact I
didn't even thought of it as your intepretation seems rather farfetched to me
(sorry ;-)), especially if I'm considering the specification issue discussion.
Ed Burns proposed the following: "1. call any public no argument managed bean
methods annotated with @PostConstruct be called after the object is
instantiated, and after *any* injection is performed, but before the bean is
placed into the scope."
Besides that, I don't understand why you're strongly objecting to changing the
interface. LifecycleProvider.newInstance() remains to be a perfect integration
point for injecting serveral JavaEE components. My proposed patch shows how
easy it is to refactor a "typical" implementation (I know that it has not been
a full-fledged JavaEE container, but I think it's actually the same - just a
simple "processAnnotations" method call).
> Handling PostConstruct annotations - wrong order
> ------------------------------------------------
>
> Key: MYFACES-1761
> URL: https://issues.apache.org/jira/browse/MYFACES-1761
> Project: MyFaces Core
> Issue Type: Bug
> Affects Versions: 1.2.0, 1.2.1-SNAPSHOT
> Reporter: Bernhard Huemer
> Fix For: 1.2.1-SNAPSHOT
>
> Attachments: MyFaces-1761.patch, postconstruct-demo.zip
>
>
> The specification states that managed bean methods annotated with
> @PostConstruct have to be called after the object is initialized and after
> dependency injection is performed. However, MyFaces calls those methods after
> the bean instance is created but before dependency injection is performed
> (for example, see
> http://www.nabble.com/myfaces-1.2.0-postConstruct-tf4760326.html ). In order
> to resolve this bug the LifecycleProvider interface has to be changed.
> Currently there's only one method responsible for creating/initializing a new
> bean: newInstance(). This design choice implicates that there's no
> possibility to seperate the steps "creating the bean" and "postconstructing
> the bean".
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.