[
https://jira.jboss.org/jira/browse/JBSEAM-2255?page=com.atlassian.jira.pl...
]
Pete Muir closed JBSEAM-2255.
-----------------------------
Fix Version/s: 2.2.0.GA
(was: The future)
Resolution: Done
Assignee: Pete Muir
I've applied Stuart's patch.
Stuart, please can you double check what I applied
(
http://fisheye.jboss.org/changelog/Seam/?cs=11246)
Watchers, please verify this works for you.
Stuart (or others :-) it would be great to avoid this happening in the future - we should
add some tests to the Web Beans test suite so that we future proof for Seam 3. Ping me by
email if you can help with this.
Undeploying multiple wars inside an ear causes
IllegalStateException.
---------------------------------------------------------------------
Key: JBSEAM-2255
URL:
https://jira.jboss.org/jira/browse/JBSEAM-2255
Project: Seam
Issue Type: Bug
Components: Core
Affects Versions: 2.0.0.GA
Environment: Debian GNU/Linux x86_64 2.6.18-4 SMP, Java 1.5.0_12, JBoss 4.2.1.GA,
Seam 2.0.0.GA.
Reporter: Richard Teviotdale
Assignee: Pete Muir
Fix For: 2.2.0.GA
Attachments: illegal-state-undeploy.diff
When undeploying an ear that contains two wars an IllegalStateException is generated. I
have not checked for more than two wars but I suspect an exception would be generated for
each undeploying war after the first. This exception does not prevent the server from
undeploying and redeploying the ear, it just produces an error and stacktrace in the
server log.
Here's how to duplicate.
- make a generic seam-gen project called test deployed as an ear
- ant explode
- go to $JBOSS_HOME/default/deploy/test.ear
- recursive copy test.war directory to test2.war
- edit META-INF/application.xml and create deploy entry for test2.war
- run server
- touch META-INF/application.xml
see server log for following stack trace:
15:05:11,798 INFO [TomcatDeployer] undeploy, ctxPath=/test2,
warUrl=.../deploy/test.ear/test2.war/
15:05:12,067 INFO [TomcatDeployer] undeploy, ctxPath=/test,
warUrl=.../deploy/test.ear/test.war/
15:05:12,068 ERROR [[/test]] Session event listener threw exception
java.lang.IllegalStateException: Attempted to invoke a Seam component outside the an
initialized application
at org.jboss.seam.contexts.Lifecycle.getApplication(Lifecycle.java:36)
at org.jboss.seam.contexts.Lifecycle.endSession(Lifecycle.java:220)
at org.jboss.seam.contexts.ServletLifecycle.endSession(ServletLifecycle.java:129)
at org.jboss.seam.servlet.SeamListener.sessionDestroyed(SeamListener.java:49)
at org.apache.catalina.session.StandardSession.expire(StandardSession.java:702)
at org.apache.catalina.session.StandardSession.expire(StandardSession.java:660)
snip...
15:05:12,276 ERROR [[/test]] Exception sending context destroyed event to listener
instance of class org.jboss.seam.servlet.SeamListener
java.lang.IllegalStateException: Attempted to invoke a Seam component outside the an
initialized application
at org.jboss.seam.contexts.Lifecycle.getApplication(Lifecycle.java:36)
at org.jboss.seam.contexts.Lifecycle.endApplication(Lifecycle.java:50)
at org.jboss.seam.contexts.ServletLifecycle.endApplication(ServletLifecycle.java:118)
at org.jboss.seam.servlet.SeamListener.contextDestroyed(SeamListener.java:39)
at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:3893)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira