I'll add some words on that to the docs. Am Di, 10.07.2007, 13:42, schrieb Hoying, Ken: > Thank you, Rene! > > This is a great help to me and allows me to move forward with my current > implementation. It might be a good idea for someone from the Struts2 > project to update the documentation with Rene's finding, as I am sure > others will also find this unclear and concerning. > > Thank you again! > > -----Original Message----- > From: Rene Gielen [mailto:[EMAIL PROTECTED] > Sent: Tuesday, July 10, 2007 2:38 AM > To: Struts Users Mailing List > Subject: Re: [S2] Interceptor Question (Thread Safety) > > Ken, others, > > now for the definitive answer: > There is one instance per interceptor ref, thus interceptor instances > being unique within the scope they are referenced in. > > Example: > <package name="foo" extends="struts-default" namespace="/foo"> > <interceptors> > <interceptor name="foo" class="FooInterceptor"/> > </interceptors> > <action name="bar1" class="com.opensymphony.xwork2.ActionSupport"> > <interceptor-ref name="foo"> > <param name="bar">barfoobar</param> > </interceptor-ref> > <result name="success">/index.jsp</result> > </action> > <action name="bar2" class="com.opensymphony.xwork2.ActionSupport"> > <interceptor-ref name="foo"> > <param name="bar">barfoo</param> > </interceptor-ref> > <result name="success">/index.jsp</result> > </action> > </package> > > This will cause two instances of FooInterceptor being created, one with > bar property set to "barfoobar" and one with "barfoo". The interceptors > parameters given in struts.xml are only set once per instance, which > means that there are no thread safety issues with interceptor instance > variables. > > HTH, > Rene > > > Rene Gielen schrieb: >> Uahhh, >> >> thanks for pointing out this information, I was way to fast to reply >> on the said question - I recalled it wrong. Indeed documentation is >> right here, they need to be thread safe - sorry for causing >> misunderstanding here. >> >> Anyway, this does not answer the question if interceptor parameters >> introduce thread safety issues. The builder mechanism is a little >> complicated here, but AFAIK Interceptor instances are unique to the >> scope they are configured in. I will check this tonight to ensure we >> do not face a problem here with current implementation and hopefully >> can provide a reliable answer then. >> >> Regards, >> Rene >> >> <interceptor name=" >> >> Am Mo, 9.07.2007, 15:01, schrieb Hoying, Ken: >>> Thanks, Rene! >>> >>> Someone might want to update the documentation to make this clearer. >>> The following document seems to indicate otherwise: >>> >>> http://struts.apache.org/2.x/docs/writing-interceptors.html >>> >>> Thread Safety >>> Interceptors must be thread-safe! >>> >>> A Struts 2 Action instance is created for every request and do not >>> need to be thread-safe. Conversely, Interceptors are shared between >>> requests and must be thread-safe. >>> >>> -----Original Message----- >>> From: Rene Gielen [mailto:[EMAIL PROTECTED] >>> Sent: Sunday, July 08, 2007 7:00 AM >>> To: Struts Users Mailing List >>> Subject: Re: [S2] Interceptor Question (Thread Safety) >>> >>> Ken, >>> >>> there is no problem at all since s2 interceptor instances, as well as > >>> action instances, are created per ActionInvokation, which means they >>> are always operated in a single thread. >>> >>> Regards, >>> Rene >>> >>> Hoying, Ken schrieb: >>>> From what I understand from reading the documentation, interceptors >>>> are suppose to be thread safe. However, I have noticed that some of > >>>> the interceptors do contain instance variables and I have seen some > >>>> examples where these variables are set or modified from with in the >>>> action configurations. >>>> >>>> For example, the File Upload interceptor allows you to set the >>>> maximumSize and allowedTypes. Is this going to work if I have 2 >>>> different actions each allowing different maximumSize and >>> allowedTypes? >>>> This does not seem thread safe to me. Is there only one instance of > >>>> the interceptors or does maybe each action mapping have its own >>>> instance of the interceptors? >>>> >>>> Thanks in advance, >>>> Ken >>>> >>>> >>>> >>>> ----------------------------------------- >>>> ***Note:The information contained in this message may be privileged >>>> and confidential and protected from disclosure. If the reader of >>>> this message is not the intended recipient, or an employee or agent >>>> responsible for delivering this message to the intended recipient, >>>> you are hereby notified that any dissemination, distribution or >>>> copying of this communication is strictly prohibited. If you have >>>> received this communication in error, please notify the Sender >>>> immediately by replying to the message and deleting it from your > computer. Thank you. >>>> Premier Inc. >>> > > > -- > Rene Gielen | http://it-neering.net/ > Aachen | PGP-ID: BECB785A > Germany | gielen at it-neering.net > > --------------------------------------------------------------------- > 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] > >
-- Rene Gielen | http://it-neering.net/ Aachen | PGP-ID: BECB785A Germany | gielen at it-neering.net --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]