Thank you, but what happens if I set the execute method from the action synchronized? I did that and it works fine. I have also run some tests to see if performance drops but it did not.
-----Original Message----- From: Sri Sankaran [mailto:Sri.Sankaran@;sas.com] Sent: Monday, October 28, 2002 4:13 PM To: Struts Users Mailing List Subject: RE: Huge action instance synchronization problem It is good practice to have a delegate class that handles all business logic. This will not only ensure that you don't run into problems such as you state but also de-couples your business logic from the Struts framework -- which *should* be used only for controlling your presentation. public class SomeAction extends Action { public void execute(...) { Delegate delegate = new Delegate(...); delegate.execute(...); } } The delegate is responsible for all business operations including (any) database calls. Also make sure that your action class doesn't have any instance variables and only stack-resident method scope variables. The delegate should have all the information that would be needed. This way sessions don't step on each other. Sri -----Original Message----- From: Dan Bunea [mailto:danbunea@;linksystems.ro] Sent: Monday, October 28, 2002 3:14 AM To: [EMAIL PROTECTED] Cc: 'Craig R. McClanahan' Subject: Huge action instance synchronization problem My problem: I have a search action. When 2 (or more) users submit the search form simultaniously, because the seach usually takes about 1-2 seconds, the same action instance is rethrieved to complete the search and sessions are combined like this: the action makes the search for the first session but does not finish until the second search is performed and because the resultset is divided into pages and this divisation is stored into session, both pages with results are put in the second session, and the second user shall be dispalyed the correct results but the first shall have null pointer exception because in his session there is no object representing the divisation of the resultset on pages. The problem in my opinion is because the same action instance performs the same task for the 2 users and so the sessions are combined, which is a huge problem, because like this every method of an action (dispatch action) that takes a while to complete shall have the same problem. Please advise me how to solve this problem. Thank you , Dan Bunea PS Dear Craig , I am sorry to bother you but this problem is very urgent, as the project is in final stages and this is a potentially huge problem. I have read that each action is instantiated only once in the RequestProcessor and for each request the action is rethrieved and its methods executed, but I have also read that this is not synchronized. -- To unsubscribe, e-mail: <mailto:struts-user-unsubscribe@;jakarta.apache.org> For additional commands, e-mail: <mailto:struts-user-help@;jakarta.apache.org> -- To unsubscribe, e-mail: <mailto:struts-user-unsubscribe@;jakarta.apache.org> For additional commands, e-mail: <mailto:struts-user-help@;jakarta.apache.org>

