2009-06-18 6 views
0

Je rencontre des problèmes avec mon application Seam, je ne sais pas si c'est pour utiliser Maven avec Jetty pour tester ou simplement une mauvaise configuration de ma part. L'erreur que je reçois est plutôt simple, quand Seam tente de fermer le contexte de l'événement, il s'attend à ce qu'il soit ouvert et il doit déjà avoir été fermé par quelque chose d'autre. Le problème est de savoir quoi et comment déterminer ce qui a causé cela.Seam - No Active Contexte de l'événement

Voici la trace de la pile pas qu'il aide beaucoup:

java.lang.IllegalStateException: No active event context 
at org.jboss.seam.core.Manager.instance(Manager.java:368) 
at org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:55) 
at org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:37) 
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:73) 
at org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53) 
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60) 
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158) 
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) 
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:378) 
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) 
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) 
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) 
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417) 
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) 
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) 
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 
at org.mortbay.jetty.Server.handle(Server.java:324) 
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535) 
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:865) 
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539) 
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) 
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) 
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) 
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520) 

Ce sont tous les pots dans mon dossier WEB-INF/lib

-rw-r--r-- 1 walterw staff 54665 2009-03-02 19:28 activation-1.0.2.jar 
-rw-r--r-- 1 walterw staff 443432 2009-03-02 19:28 antlr-2.7.6.jar 
-rw-r--r-- 1 walterw staff 43033 2009-03-02 19:23 asm-3.1.jar 
-rw-r--r-- 1 walterw staff 1604162 2009-03-02 19:28 axis-1.2.1.jar 
-rw-r--r-- 1 walterw staff 32071 2009-03-02 19:28 axis-jaxrpc-1.2.1.jar 
-rw-r--r-- 1 walterw staff 148230 2009-06-17 22:27 cglib-asm-1.0.jar 
-rw-r--r-- 1 walterw staff 188671 2009-03-02 19:28 commons-beanutils-1.7.0.jar 
-rw-r--r-- 1 walterw staff 571259 2009-03-02 19:28 commons-collections-3.2.jar 
-rw-r--r-- 1 walterw staff 146108 2009-06-14 18:20 commons-digester-1.8.1.jar 
-rw-r--r-- 1 walterw staff 71442 2009-03-02 19:28 commons-discovery-0.2.jar 
-rw-r--r-- 1 walterw staff 261809 2009-03-02 19:28 commons-lang-2.4.jar 
-rw-r--r-- 1 walterw staff 38015 2009-03-02 19:28 commons-logging-1.0.4.jar 
-rw-r--r-- 1 walterw staff 26202 2009-03-02 19:28 commons-logging-api-1.0.4.jar 
-rw-r--r-- 1 walterw staff 313898 2009-03-02 19:28 dom4j-1.6.1.jar 
-rw-r--r-- 1 walterw staff 50583 2009-03-02 19:27 ejb3-persistence-1.0.2.GA.jar 
-rw-r--r-- 1 walterw staff 15506 2009-03-14 11:21 FileIO-2009.3.14.jar 
-rw-r--r-- 1 walterw staff 170443 2009-03-02 19:23 flickrapi-1.1.jar 
-rw-r--r-- 1 walterw staff 279714 2009-03-02 19:27 hibernate-annotations-3.4.0.GA.jar 
-rw-r--r-- 1 walterw staff 66993 2009-03-02 19:27 hibernate-commons-annotations-3.1.0.GA.jar 
-rw-r--r-- 1 walterw staff 2266769 2009-03-02 19:27 hibernate-core-3.3.0.SP1.jar 
-rw-r--r-- 1 walterw staff 119292 2009-04-03 18:41 hibernate-entitymanager-3.4.0.GA.jar 
-rw-r--r-- 1 walterw staff 313785 2009-06-17 22:46 hibernate-search-3.1.1.GA.jar 
-rw-r--r-- 1 walterw staff 62574 2009-03-02 19:27 hibernate-validator-3.1.0.GA.jar 
-rw-r--r-- 1 walterw staff 630486 2009-06-17 22:46 hsqldb-1.8.0.2.jar 
-rw-r--r-- 1 walterw staff 552514 2009-03-12 21:54 javassist-3.7.1.GA.jar 
-rw-r--r-- 1 walterw staff 131456 2009-03-02 19:23 java-unrar-0.2.jar 
-rw-r--r-- 1 walterw staff 134652 2009-06-13 21:46 jboss-el-1.0_02.CR4.jar 
-rw-r--r-- 1 walterw staff 288761 2009-06-17 22:48 jboss-envers-1.2.1.GA-hibernate-3.3.jar 
-rw-r--r-- 1 walterw staff 25589 2009-06-17 22:48 jboss-logging-log4j-2.1.0.GA.jar 
-rw-r--r-- 1 walterw staff 12623 2009-06-17 22:48 jboss-logging-spi-2.1.0.GA.jar 
-rw-r--r-- 1 walterw staff 16148 2009-06-13 21:46 jboss-seam-debug-2.1.2.jar 
-rw-r--r-- 1 walterw staff 2507 2009-06-13 21:46 jboss-seam-jul-2.1.2.jar 
-rw-r--r-- 1 walterw staff 28223 2009-06-13 21:46 jboss-seam-mail-2.1.2.jar 
-rw-r--r-- 1 walterw staff 294735 2009-06-13 21:46 jboss-seam-ui-2.1.2.jar 
-rw-r--r-- 1 walterw staff 312629 2009-06-14 18:20 jsf-api-1.2-b19.jar 
-rw-r--r-- 1 walterw staff 302352 2009-03-02 19:23 jsf-facelets-1.1.15.B1.jar 
-rw-r--r-- 1 walterw staff 1122787 2009-06-14 18:20 jsf-impl-1.2-b19.jar 
-rw-r--r-- 1 walterw staff 13236 2009-03-02 19:28 jta-1.1.jar 
-rw-r--r-- 1 walterw staff 367444 2009-03-02 19:28 log4j-1.2.14.jar 
-rw-r--r-- 1 walterw staff 822794 2009-06-17 22:46 lucene-core-2.4.1.jar 
-rw-r--r-- 1 walterw staff 1139907 2009-06-13 21:46 org.jboss.seam-jboss-seam-2.1.2.jar 
-rw-r--r-- 1 walterw staff 445090 2009-03-08 20:11 quartz-1.6.1.jar 
-rw-r--r-- 1 walterw staff 171921 2009-06-14 18:20 richfaces-api-3.3.1.GA.jar 
-rw-r--r-- 1 walterw staff 1551810 2009-06-14 18:20 richfaces-impl-3.3.1.GA.jar 
-rw-r--r-- 1 walterw staff 4160770 2009-06-14 18:21 richfaces-ui-3.3.1.GA.jar 
-rw-r--r-- 1 walterw staff 102493 2009-06-17 22:48 SeamCore-2009.06.17.jar 
-rw-r--r-- 1 walterw staff 16591 2009-03-02 19:24 slf4j-api-1.5.0.jar 
-rw-r--r-- 1 walterw staff 8880 2009-03-02 19:24 slf4j-log4j12-1.5.0.jar 
-rw-r--r-- 1 walterw staff 25814 2009-06-17 22:49 WebContent-2009.06.17.jar 
-rw-r--r-- 1 walterw staff 109318 2009-03-02 19:28 xml-apis-1.0.b2.jar 

J'ai eu quelques conflits de version avant que effectivement fait causer un problème avant, je me demandais si cela pourrait être l'un de ces problèmes.

Merci, Walter

Répondre

1

Il ne ressemble pas à un problème de Maven. Je vérifierais l'un des éléments suivants:

  1. Avez-vous défini l'écouteur de contexte du servlet de couture?

    <auditeur> < auditeur classe > org.jboss.seam.servlet.SeamListener </auditeur classe > </auditeur >

  2. Basé sur this question, avez-vous configuré filtre de contexte supplémentaire?

0

Merci pour votre réponse.

Il semble être en fait une combinaison de choses:

  1. J'instancier ContextualHttpServletRequest l'intérieur de chaque requestInitialized et requestDestroyed (ServletRequestListener) pour surveiller toutes les demandes de Http.
  2. J'ai configuré le ContextFilter sur toutes les URL autres que des faces (tout n'est pas * .xhtml)
  3. Mes requêtes a4j sont en erreur? J'utilise RichFaces et vois les requêtes dans firebug pour les ressources/a4j. J'ai Seam et RichFaces configurés selon la version que j'utilise 2.2.0.GA.

Ce problème est résolu pour Jetty, mais j'obtiens ces erreurs dans Tomcat. J'essaye de rassembler ce qui pourrait être différent entre Jetty et Tomcat. La chose étrange est, ma classe ServletRequestListener fonctionne bien car elle enregistre toutes les requêtes HTTP arrivant dans l'application, mais la vue n'est pas réellement servie car elle lance une exception de contexte d'événement non actif.

EDIT: La raison pour laquelle cela ne fonctionnait pas sur Tomcat mais Jetty était que je n'attrapais pas une exception levée par le ContextFilter. J'ai maintenant mon propre ContextFilter qui tente de créer un contexte pour la requête en cours seulement si le SeamPhaseListener ne l'a pas déjà fait. Dans certains cas, il échoue toujours, c'est pourquoi j'ai besoin d'attraper l'exception. C'est un correctif de bandaid, mais cela fonctionne bien dans tomcat maintenant. Je suppose qu'il est lié à jsessionid en conjonction avec les ressources demandées par a4j.

Cela fonctionne assez bien pour moi.

Walter