myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Leonardo Uribe (JIRA)" <...@myfaces.apache.org>
Subject [jira] [Commented] (MYFACES-3889) Handling PostConstruct annotations - wrong order : under wildfly-8.0.0.Final
Date Wed, 14 May 2014 12:49:15 GMT

    [ https://issues.apache.org/jira/browse/MYFACES-3889?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13997514#comment-13997514
] 

Leonardo Uribe commented on MYFACES-3889:
-----------------------------------------

After taking a look about it, it looks like something to be fixed on the integration code
between Wildfly and MyFaces.

In Myfaces there is a class called org.apache.myfaces.config.ManagedBeanBuilder, which a method
called buildManagedBean(...). That method uses LifecycleProvider2 interface to inject managed
beans. But with wildfly there is an integration module that override that part, so maybe the
problem is there, I don't know the details, but maybe it is something simple. MyFaces uses
a SPI interface in LifecycleProvider / LifecycleProviderFactory, so it is easy to write an
custom implementation and replace the one provided by wildfly to fix the lines. 

I'll close this issue as invalid, because the code in MyFaces area is correct, and it should
be a bug in Wildfly.

> Handling PostConstruct annotations - wrong order : under wildfly-8.0.0.Final
> ----------------------------------------------------------------------------
>
>                 Key: MYFACES-3889
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3889
>             Project: MyFaces Core
>          Issue Type: Bug
>         Environment: wildfly-8.0.0.Final, Spring 3.1.0, myfaces 2.1.12
>            Reporter: hamid AGHAZZAF
>            Priority: Blocker
>
> 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.
> This issue was resolved for tomcat7 server (https://issues.apache.org/jira/browse/MYFACES-1761).
But remain with WildFly 8.0.Final .
> Bellow the list of third party artifacts used with their versions :
> activation-1.1.jar                                             joda-time-2.3.jar    
                                  velocity-1.6.2.jar
> aopalliance-1.0.jar                                            jrobin-1.5.9.jar     
                                  xml-apis-1.0.b2.jar
> aspectjrt-1.6.12.jar                                           jsr305-1.3.9.jar     
                                  xmlbeans-2.3.0.jar
> aspectjtools-1.6.2.jar                                         jstl-1.2.jar
> aspectjweaver-1.6.11.jar                                       junit-3.8.1.jar
> atmosphere-runtime-2.0.1.jar                                   log4j-1.2.12.jar
> avalon-framework-4.1.3.jar                                     logback-classic-0.9.30.jar
> bcmail-jdk14-1.38.jar                                          logback-core-0.9.30.jar
> bcmail-jdk14-138.jar                                           logkit-1.0.1.jar
> bcprov-jdk14-1.38.jar                                          mail-1.4.jar
> bcprov-jdk14-138.jar                                           myfaces-api-2.1.12.jar
> bctsp-jdk14-1.38.jar                                           myfaces-impl-2.1.12.jar
> bsh-2.0b4.jar                                                  oro-2.0.8.jar
> castor-1.2.jar                                                 poi-3.7.jar
> cglib-3.0.jar                                                  poi-ooxml-3.7.jar
> commons-beanutils-1.8.2.jar                                    poi-ooxml-schemas-3.7.jar
> commons-codec-1.3.jar                                          primefaces-4.0.jar
> commons-collections-3.2.jar                                    primefaces-extensions-0.7.1.jar
> commons-dbcp-1.2.2.jar                                         servlet-api-2.3.jar
> commons-digester-1.8.jar                                       slf4j-api-1.6.2.jar
> commons-fileupload-1.3.1.jar                                   slf4j-log4j12-1.6.1.jar
> commons-io-2.4.jar                                             smoothness-1.0.10.jar
> commons-lang-2.2.jar                                           snakeyaml-1.6.jar
> commons-lang3-3.1.jar                                          spring-aop-3.1.0.RELEASE.jar
> commons-logging-1.1.jar                                        spring-asm-3.1.0.RELEASE.jar
> commons-pool-1.3.jar                                           spring-aspects-3.1.0.RELEASE.jar
> dom4j-1.6.1.jar                                                spring-beans-3.1.0.RELEASE.jar
> geronimo-stax-api_1.0_spec-1.0.jar                             spring-binding-2.3.2.RELEASE.jar
> groovy-all-2.0.1.jar                                           spring-context-3.1.0.RELEASE.jar
> gsfar-base-0.0.8-SNAPSHOT.jar                                  spring-context-support-3.1.0.RELEASE.jar
> gsfar-core-0.0.8-SNAPSHOT.jar                                  spring-core-3.1.0.RELEASE.jar
> gsfar-domain-0.0.8-SNAPSHOT.jar                                spring-data-commons-1.5.2.RELEASE.jar
> gson-2.2.2.jar                                                 spring-data-commons-core-1.4.0.RELEASE.jar
> guava-12.0.jar                                                 spring-data-envers-0.1.0.RELEASE.jar
> hibernate-commons-annotations-4.0.1.Final.jar                  spring-data-jpa-1.3.4.RELEASE.jar
> hibernate-core-4.1.7.Final.jar                                 spring-expression-3.2.1.RELEASE.jar
> hibernate-entitymanager-4.1.7.Final.jar                        spring-faces-2.3.2.RELEASE.jar
> hibernate-envers-4.1.7.Final.jar                               spring-integration-core-2.2.2.RELEASE.jar
> hibernate-jpa-2.0-api-1.0.1.Final.jar                          spring-integration-jdbc-2.2.2.RELEASE.jar
> hsqldb-1.8.0.7.jar                                             spring-jdbc-3.1.0.RELEASE.jar
> itext-2.1.7.jar                                                spring-js-2.3.2.RELEASE.jar
> jackson-annotations-2.1.4.jar                                  spring-js-resources-2.3.2.RELEASE.jar
> jackson-core-2.1.4.jar                                         spring-orm-3.1.0.RELEASE.jar
> jackson-databind-2.1.4.jar                                     spring-retry-1.0.2.RELEASE.jar
> jasperreports-5.5.1.jar                                        spring-security-config-3.1.4.RELEASE.jar
> javamelody-core-1.49.0.jar                                     spring-security-core-3.1.4.RELEASE.jar
> javassist-3.15.0-GA.jar                                        spring-security-web-3.1.4.RELEASE.jar
> jboss-logging-3.1.0.GA.jar                                     spring-test-3.1.0.RELEASE.jar
> jboss-transaction-api_1.1_spec-1.0.0.Final.jar                 spring-tx-3.1.0.RELEASE.jar
> jcl-over-slf4j-1.7.1.jar                                       spring-web-3.1.0.RELEASE.jar
> jcommander-1.12.jar                                            spring-webflow-2.3.2.RELEASE.jar
> jcommon-1.0.15.jar                                             spring-webmvc-3.2.1.RELEASE.jar
> jdtcore-3.1.0.jar                                              stax-api-1.0.1.jar
> jfreechart-1.0.12.jar                                          testng-6.4.jar
> I use spring profiles rather than maven profiles, this way, the same build (war file)
is deploy-able in tomcat7 server as well as in Wildfly-8.0.0.Final.
> I have toggled two types of breakpoints in one of my managed bean : 
> - The first type is for the initialization method ( annotated with  @PostConstruct )
> - The second type is for setters of all properties aware of injection ( annotated with
@ManagedProperty("#{xxx}") ).
> When deploying to Tomcat7, every thing is well, all injections methods are invoked before
the initialization method is called.
> But, when running under Wildfly-8.0.0.Final, the initialization method is called before,
 and this causes NullPointerException for properties not yet injected. This behavior is the
same regardless the deployment is done from the administration console or from my eclipse
workbench.
> We don’t have a lot of choices regarding the version of myfaces to use, as the only
installer provided for adding support of myfaces to wildFly contains the version  2.1.12.
And it's not a problem for continue with this version of myfaces. The installer is down-loadable
from nexus : https://repository.jboss.org/nexus/index.html#nexus-search;gav~org.wildfly~wildfly-jsf-installer~~~
>  Thanks a lot in advance for your response.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message