You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "hamid AGHAZZAF (JIRA)" <de...@myfaces.apache.org> on 2014/05/13 12:17:14 UTC

[jira] [Created] (MYFACES-3889) Handling PostConstruct annotations - wrong order : under wildfly-8.0.0.Final

hamid AGHAZZAF created MYFACES-3889:
---------------------------------------

             Summary: 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)