0

我的 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 文件夹中的所有 jars

-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

在此之前我有一些版本冲突实际上确实导致了问题,我只是想知道这是否可能是这些问题之一。

谢谢,沃尔特

4

2 回答 2

1

它看起来不像一个 Maven 问题。我会检查以下其中一项:

  1. 您是否设置了 seam servlet 上下文侦听器?

    <listener> <listener-class>org.jboss.seam.servlet.SeamListener</listener-class> </listener>

  2. 基于这个问题,您是否配置了额外的上下文过滤器?

于 2009-06-24T14:57:11.473 回答
0

感谢您的回复。

它似乎实际上是事物的组合:

  1. 我在每个 requestInitialized 和 requestDestroyed (ServletRequestListener) 中实例化 ContextualHttpServletRequest 以监控每个 Http 请求。
  2. 我已经在除面孔以外的每个 URL 上配置了 ContextFilter(不是 *.xhtml 的所有内容)
  3. 我的 a4j 请求出错了?我正在使用 RichFaces 并在 firebug 中看到对 /a4j 资源的请求。我根据我使用的 2.2.0.GA 版本配置了 Seam 和 RichFaces。

Jetty 解决了这个问题,但我在 Tomcat 中遇到了这些错误。我正在尝试收集 Jetty 和 Tomcat 之间可能存在的不同之处。奇怪的是,我的 ServletRequestListener 类功能正常,因为它记录了所有进入应用程序的 Http 请求,但实际上并没有提供视图,因为它抛出了一个无活动事件上下文异常。

编辑:这不适用于 Tomcat 但 Jetty 的原因是我没有捕捉到 ContextFilter 抛出的异常。我现在拥有自己的 ContextFilter,它仅在 SeamPhaseListener 尚未这样做时才尝试为当前请求创建上下文。在某些情况下,它仍然失败,这就是我需要捕获异常的原因。这是一个创可贴修复,但它现在在 tomcat 中运行良好。我猜它与 jsessionid 以及 a4j 请求的资源有关。

这对我来说足够好。

沃尔特

于 2009-07-28T02:50:49.313 回答