As Andrew pointed out, you are probably using a class level (member) variable.
Can you move this to the execute method and retest? Also, you should seriously consider what Sri has posted as well. James Mitchell Software Engineer/Struts Evangelist http://www.open-tools.org "Only two things are infinite, the universe and human stupidity, and I'm not sure about the former." - Albert Einstein (1879-1955) > -----Original Message----- > From: Dan Bunea [mailto:danbunea@;linksystems.ro] > Sent: Monday, October 28, 2002 9:18 AM > To: 'Struts Users Mailing List' > Subject: RE: Huge action instance synchronization problem > > > > 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> -- To unsubscribe, e-mail: <mailto:struts-user-unsubscribe@;jakarta.apache.org> For additional commands, e-mail: <mailto:struts-user-help@;jakarta.apache.org>

