Шов - нет активного контекста события - PullRequest
0 голосов
/ 18 июня 2009

У меня проблемы с моим приложением Seam, я не уверен, что это связано с использованием Maven вместе с Jetty для тестирования или просто неправильной конфигурацией с моей стороны. Ошибка, которую я получаю, довольно проста: когда Seam пытается закрыть контекст события, он ожидает, что он будет открыт, и он должен быть уже закрыт чем-то другим. Проблема в том, что и как определить, что вызвало это.

Вот трассировка стека, которая не очень помогает:

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)

Это все банки в моей папке 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

У меня было несколько конфликтов версий до того, как это действительно вызывало проблему раньше, мне просто интересно, может ли это быть одной из этих проблем.

Спасибо, Walter

Ответы [ 2 ]

1 голос
/ 24 июня 2009

Это не похоже на проблему maven. Я бы проверил одно из следующего:

  1. Вы установили прослушиватель контекста сервлета seam?

    <Слушатель-класс> org.jboss.seam.servlet.SeamListener </ слушатель-класс>

  2. На основании этого вопроса настроили ли вы дополнительный контекстный фильтр?

0 голосов
/ 28 июля 2009

Спасибо за ваш ответ.

Кажется, на самом деле это сочетание вещей:

  1. Я создаю ContextualHttpServletRequest внутри каждого requestInitialized и requestDestroyed (ServletRequestListener) для мониторинга каждого запроса Http.
  2. Я настроил ContextFilter для каждого URL, кроме лиц (все, кроме * .xhtml)
  3. Мои запросы a4j не выполняются? Я использую RichFaces и вижу запросы в firebug для ресурсов / a4j. У меня Seam и RichFaces настроены в соответствии с версией, которую я использую 2.2.0.GA.

Эта проблема решена для Jetty, но я получаю эти ошибки в Tomcat. Я пытаюсь понять, что может отличаться между Jetty и Tomcat. Странно то, что мой класс ServletRequestListener функционирует нормально, так как он регистрирует все запросы Http, поступающие в приложение, но представление фактически не обрабатывается, поскольку выдает исключение No Active Event Context.

EDIT: Причина, по которой это не работало на Tomcat, но Jetty заключалась в том, что я не ловил исключение, выброшенное ContextFilter. Теперь у меня есть свой собственный ContextFilter, который пытается создать контекст для текущего запроса, только если SeamPhaseListener еще не сделал этого. В некоторых случаях это все еще не помогает, поэтому мне нужно поймать исключение. Это исправление, но сейчас оно хорошо работает в tomcat. Я предполагаю, что это связано с jsessionid в сочетании с ресурсами, которые запрашивает a4j.

Это работает достаточно хорошо для меня.

Walter

...