Hmmm. That wasn't too clear. What I'm trying to say is to synch the method AND check for "initialized" at the top of doInit().
----- Original Message ----- From: "George Franciscus" <[EMAIL PROTECTED]> To: <acegisecurity-developer@lists.sourceforge.net> Sent: Friday, June 03, 2005 1:06 PM Subject: Re: [Acegisecurity-developer] Bug in FilterToBeanProxy? > Hi folks. I'm new to the mailing list. I'm really enjoying looking at the > code base. "Nice work!" to all contributors. > > The Servlet Spec version 2.4 section SRV.6.2.1 states "Only one instance per > <filter> declaration in the deployment descriptor is instantiated per Java > Virtual Machine (JVMTM) of the container.". That confirms that Filters > aren't thread safe. Since the "initialize" boolean is not synchronized, it > appears that there is a thread-safety issue. > > Let me throw something out a possible solution. > > If its blocked in the "if" statement in the doFilter, then we'll pay for > synch'ing on every request. That's not too good. > > If we synchronize the method, or entry to the method, then all we've done is > blocked multiple requests from entering at the same time. They'll still > enter, but one at a time. This means that multiple request will still enter > the method until the requests queued up are cleared. That's because it went > into the method with "initialized" to false, but it was true by the time it > had a chance to execute. Therefore, the first thing it should do is check > the value of "initialized", if its true then return, otherwise let it > continue on its merry way. > > ~~George > > > ----- Original Message ----- > From: "Malzahn Volker , Köln" <[EMAIL PROTECTED]> > To: <acegisecurity-developer@lists.sourceforge.net> > Sent: Friday, June 03, 2005 5:35 AM > Subject: [Acegisecurity-developer] Bug in FilterToBeanProxy? > > > > Hello, > > > > I am using Acegi Security 0.7 with Weblogic 8.1 SP2. I initialize Spring > > with SpringContextLoaderListener. > > > > When using the FilterToBeanProxy in the Acegi Filters (like HTTP session > > integration filter) I have to set the init-param "init" to "lazy". Then I > > get a NullPointerException in FilterToBeanProxy line 107 > > (delegate.doFilter(...)), when I submit to concurrent requests. The reason > > is, that the first request isn't ready with performing doInit(), but has > > already set initialized to true. So the second request doesn't run into > > doInit(), but delegate is null until the first request ends. > > > > Shouldn't the synchronized state and FiltertoBeanProxy.doInit() be > > synchronized to handle this problem? > > > > Regards > > Volker > > > > _________________________ > > > > Volker Malzahn > > FJA Feilmeier & Junker GmbH > > Ein Unternehmen der FJH Gruppe > > Sachsenring 83 > > 50677 Köln > > Tel.: 0221 / 33 80 - 271 > > Fax: 0221 / 9 32 17 30 > > Email: [EMAIL PROTECTED] > > > > > > > > > > ------------------------------------------------------- > > This SF.Net email is sponsored by Yahoo. > > Introducing Yahoo! Search Developer Network - Create apps using Yahoo! > > Search APIs Find out how you can build Yahoo! directly into your own > > Applications - visit > http://developer.yahoo.net/?fr_______________________________________________ > > Home: http://acegisecurity.sourceforge.net > > Acegisecurity-developer mailing list > > Acegisecurity-developer@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/acegisecurity-developer > > > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by Yahoo. > Introducing Yahoo! Search Developer Network - Create apps using Yahoo! > Search APIs Find out how you can build Yahoo! directly into your own > Applications - visit http://developer.yahoo.net/?fr_______________________________________________ > Home: http://acegisecurity.sourceforge.net > Acegisecurity-developer mailing list > Acegisecurity-developer@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/acegisecurity-developer > ------------------------------------------------------- This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r _______________________________________________ Home: http://acegisecurity.sourceforge.net Acegisecurity-developer mailing list Acegisecurity-developer@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/acegisecurity-developer