myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gurkan Erdogdu <gurkanerdo...@yahoo.com>
Subject Re: [jira] Resolved: (MYFACES-2919) LifecycleProvider Based Problems and Tomcat7 LifeCycleProvider Support
Date Thu, 16 Sep 2010 08:05:19 GMT
I think problem is that for non JSF applications, factories are not configured. 
Therefore in ManagedBeanDestroyerListener # contextInitialized

        
facesContext.getApplication().subscribeToEvent(PreDestroyCustomScopeEvent.class, 
destroyer);
        
facesContext.getApplication().subscribeToEvent(PreDestroyViewMapEvent.class, 
destroyer);


facesContext.getApplication() throws below exception,



----- Original Message ----
From: Gurkan Erdogdu <gurkanerdogdu@yahoo.com>
To: MyFaces Development <dev@myfaces.apache.org>
Sent: Thu, September 16, 2010 10:58:59 AM
Subject: Re: [jira] Resolved: (MYFACES-2919) LifecycleProvider Based Problems 
and Tomcat7 LifeCycleProvider Support

After applying latest changes and build trunk, I am getting exception when 
deploying non JSF based web application 


SEVERE: Exception sending context initialized event to listener instance of 
class org.apache.myfaces.webapp.StartupServletContextListener
java.lang.IllegalStateException: No Factories configured for this Application. 
This happens if the faces-initialization does not work at all - make sure that 
you properly include all configuration settings necessary for a basic faces 
application and that all the necessary libs are included. Also check the logging 

output of your web application and your container for any exceptions!
If you did that and find nothing, the mistake might be due to the fact that you 
use some special web-containers which do not support registering 
context-listeners via TLD files and a context listener is not setup in your 
web.xml.
A typical config looks like this;
<listener>
  
<listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>


</listener>

·   at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:172)
·   at 
org.apache.myfaces.context.servlet.FacesContextImplBase.getApplication(FacesContextImplBase.java:131)


·   at 
org.apache.myfaces.webapp.ManagedBeanDestroyerListener.contextInitialized(ManagedBeanDestroyerListener.java:143)


·   at 
org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:111)


·   at 
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4323)


·   at 
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4780)


..................
..................



----- Original Message ----
From: Leonardo Uribe (JIRA) <dev@myfaces.apache.org>
To: dev@myfaces.apache.org
Sent: Thu, September 16, 2010 3:35:33 AM
Subject: [jira] Resolved: (MYFACES-2919) LifecycleProvider Based Problems and 
Tomcat7 LifeCycleProvider Support


     [ 
https://issues.apache.org/jira/browse/MYFACES-2919?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

]

Leonardo Uribe resolved MYFACES-2919.
-------------------------------------

    Resolution: Fixed

Revert the point when exceptions are swallowed and add a log message there is 
not necessary, because the related code is only for check if tomcat 6 is 
available. Now, DefaultLifecycleProviderFactory uses one LifecycleProvider per 
webapp. It was also necessary other fixes like register ManagedBeanDestroyer on 
a proper location (that code should be on ManagedBeanDestroyerListener, not on 
FacesConfigurator)

> LifecycleProvider Based Problems and Tomcat7 LifeCycleProvider Support
> ----------------------------------------------------------------------
>
>                 Key: MYFACES-2919
>                 URL: https://issues.apache.org/jira/browse/MYFACES-2919
>             Project: MyFaces Core
>          Issue Type: Bug
>            Reporter: Gurkan Erdogdu
>            Assignee: Jakob Korherr
>             Fix For: 2.0.2-SNAPSHOT
>
>         Attachments: MYFACES-2919-2.patch, patch.txt
>
>
> Patch content
> ----------------------
> 1- ResourceAnnotationLifecycleProvider : It does not check super class for 
>annotations. It must examine super classes. This is specificed in Java EE 6 
>specification, EE 5.2.5 Annotations and Injections.
> 2- TomcatAnnotationLifecycleProvider : isAvailable Method must catch 
>"Throwable" and ignore them. Otherwise, it throws error/s that are not catched 
>and calling code is not able to process other lifecycle providers.
> 3- StartupServletContextListener : Early initiliazation of lifecycle provider. 

>Otherwise, it is not possible to use META-INF/services providers.
> 4- pom.xml : Adding Tomcat 7 libs.
> 5- Tomcat7AnnotationLifecycleProvider : Tomcat 7 based LifeCycleProvider 
>implementation.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Mime
View raw message