[ 
https://issues.apache.org/struts/browse/WW-2523?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Torsten Krah updated WW-2523:
-----------------------------

    Attachment: FilterDispatcher.diff

Workaround.
If an IllegalStateException is thrown, catch it because the Jsr168 Dispatcher 
has already cleaned things up (but log it).
In this case the private variable initialDispatcher holding a reference to the 
dispatcher which was created through init() method needs to be cleaned up.

More than a hack than a real fix, but i am not a struts2 source code hacker. It 
solves the container problem and i can redeploy, restart and stop my webapp / 
container without those annoying need to "kill" the whole thing.
It may have side effects, but i did not have found anyone yet.
Comments appreciated.

> NPE in dispatcher cleanup when FilterDispatcher is used in a portlet
> --------------------------------------------------------------------
>
>                 Key: WW-2523
>                 URL: https://issues.apache.org/struts/browse/WW-2523
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Dispatch Filter, Plugin - Portlet
>    Affects Versions: 2.0.11, 2.1.0
>         Environment: JBoss Portal 2.6.4, Struts 2.1.1
>            Reporter: Nils-Helge Garli
>             Fix For: Future
>
>         Attachments: FilterDispatcher.diff, stackTrace_failure.txt, 
> stackTrace_ok.txt
>
>
> When the FilterDispatcher is configured in web.xml, it does cleanup first, 
> then JSR168Dispatcher does cleanup, and for some reason, the ThreadLocal 
> variable (the actual ThreadLocal variable, not the value it contain) is null. 
> I don't know if this is an issue only in JBoss.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to