dev@glassfish.java.net

Re: FindBugs errors - MSF_MUTABLE_SERVLET_FIELD - false positive?

From: Andreas Loew <Andreas.Loew_at_oracle.com>
Date: Wed, 20 Apr 2011 02:18:21 +0200

Hi Rama,

Am 20.04.2011 01:31, schrieb Rama Pulavarthi:
> The field in question is infact initialized in
> Servlet#init(ServletConfig servletConfig). This should be a common
> pattern in many servlets and the container would dispatch requests to
> the servlet only after init.
> How do I convince FindBugs to not worry about this?
just wildly guessing (I currently don't have any FindBugs installation
at hand to check against):

The description of MSF_MUTABLE_SERVLET_FIELD says:

"A web server generally only creates one instance of servlet or jsp
class (i.e., treats the class as a Singleton), and will have multiple
threads invoke methods on that instance to service multiple simultaneous
requests. Thus, having a mutable instance field generally creates race
conditions."

Would it be possible to make your field a *static* variable of your
Servlet class instead of an instance variable and thereby signal to
FindBugs that you take care of the fact that it will not create a race
condition?

HTH & best regards,

Andreas

-- 
Andreas Loew | Senior Java Architect
OracleAdvanced Customer Services
ORACLE Deutschland B.V. & Co. KG