views:

1038

answers:

2

Hi all,

I am having problems with my Seam application, I'm not sure if it is from using Maven along with Jetty for testing or simply a misconfiguration on my part. The error I am getting is rather simple, when Seam attempts to close the event context, it expects it to be open and it must have already been closed by something else. The problem is what and how to determine what caused that.

Here is the stack trace not that it helps much:

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)

These are all the jars in my WEB-INF/lib folder

-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

I had a few version conflicts before that actually did cause a problem before, I'm just wondering if this could be one of those problems.

Thanks, Walter

+1  A: 

It doesn't look like a maven issue. I'd check one of the following:

  1. Have you set the seam servlet context listener?

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

  2. Based on this question, have you configured additional context filter?

David Rabinowitz
A: 

Hi David,

Thanks for your reply.

It appears to actually be a combination of things:

  1. I instantiate ContextualHttpServletRequest inside every requestInitialized and requestDestroyed (ServletRequestListener) to monitor every Http Request.
  2. I have configured the ContextFilter on every URL other than faces (everything not *.xhtml)
  3. My a4j requests are erroring out? I am using RichFaces and see requests in firebug for /a4j resources. I have Seam and RichFaces configured according to the version I'm using 2.2.0.GA.

This issue is resolved for Jetty, but I am getting these errors in Tomcat. I'm trying to gather what might be different between Jetty and Tomcat. The odd thing is, my ServletRequestListener class functions fine as it logs all Http Requests coming into the application, but the view is not actually served up as it is throwing a No Active Event Context Exception.

EDIT: The reason this was not working on Tomcat but Jetty was I was not catching an exception thrown by the ContextFilter. I now have my own ContextFilter which attempts to create a context for the current request only if the SeamPhaseListener didn't already do so. In some cases, it still fails, that is why I need to catch the exception. This is a bandaid fix, but it works well in tomcat now. I am guessing it is related to jsessionid in conjunction with resources a4j is requesting.

This works well enough for me.

Walter