Is this only a WebLogic issue (has anyone seen it in another container)?, if
so is it purely a WL 10 issue?, is the problem fixed in WL 10.1? If it's
only a WL issue I think that a temp patch is fine until BEA sort out
whatever is causing it to occur.
As a side note, rather than doing an isInfoEnabled check, wouldn't it be
better to do the following before the loop;
Locale loggingLocale;
if( ActionContext.getContext() == null ) {
loggingLocale = Locale.getDefault();
} else {
loggingLocale = ActionContext.getContext().getLocale();
}
and then in the loop do;
LOG.info(getTextMessage("struts.messages.removing.file", new
Object[]{inputValue, currentFile}, loggingLocale));
My reason for suggesting this is that with the current patch I would guess
that info logging was enabled the NPE would still occurr, so we're basically
saying that WL 10 users can't use info level logging or below, which seems a
bit harsh. It also has the benefit of not having a conditional test in each
loop iteration, which, as a bit of a performance freak, makes me happy.
What do people think?
Al.
----- Original Message -----
From: "Nils-Helge Garli Hegvik" <[EMAIL PROTECTED]>
To: "Struts Developers List" <dev@struts.apache.org>
Sent: Tuesday, February 19, 2008 11:30 PM
Subject: Re: [S2] - FilterDispatcher and ActionContextCleanup (WW-2240
FileUploadInterceptor causes null pointer exception)
Since we're getting close to a 2.1.1 release, I thought I should bring
this one up again. I'm still not sure what to do about this issue. I
committed a patch that is a temp work around, but the real issue has
not been resolved.
https://issues.apache.org/struts/browse/WW-2240
Nils-H
On Jan 23, 2008 5:43 PM, Nils-Helge Garli Hegvik <[EMAIL PROTECTED]> wrote:
I would really like a second opinion on this issue. Please let me know
if something I wrote was unclear.
Nils-H
On Jan 20, 2008 1:03 PM, Nils-Helge Garli Hegvik <[EMAIL PROTECTED]>
wrote:
> Hi!
>
> I've been debugging WW-2240 (had to install WebLogic 10 to reproduce
> it) and have seen some strange behavior (at least I think so....) in
> the ActionContext initialization and cleanup performed by the
> FilterDispatcher. The problem is that the cleanup of the ActionContext
> (ActionContext.setContext(null)) happens before the
> FileUploadInterceptor is finished executing, so when a log statement
> in the interceptor tries to access a value in the ActionContext, it
> fails with an NPE. I think I've traced it down to this:
>
> In the FilterDispatcher a call to ActionContextCleanUp.cleanUp(req) is
> invoked in the finally block. In ActionContextCleanup.cleanUp, the
> request is checked for a COUNT request attribute to see if the context
> should be cleaned up. And in this case, this attribute is always null,
> since it's only set and incremented in ActionContextCleanUp.doFilter
> (which in this case is not configured in web.xml). So it seems strange
> to me that the FilterDispatcher tries to clean up the context when it
> apparently does not keep track of if it should be cleaned or not
> ("nested" invocation)?
>
> Is this an actual bug, or am I just overlooking something?
>
> I could only reproduce this in WebLogic 10. So it's apparently
> container dependent how this is handled.
>
> Nils-H
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]