That was to ease my guilt complex about always asking for help, but never answering help questions...I figure if I can't answer questions, at least I can write a summary of the answers I got! (when I have time).
Heather On Thu, 8 Jan 2004, Hubert Rabago wrote: > Wow, I hope most other people conclude with a summary like this after a problem > is resolved. This surely makes it easier for people who do the right thing by > scouring the archives before posting to the mailing list. > > --- Heather Marie Buch <[EMAIL PROTECTED]> wrote: > > I solved the problem, thanks to all the helpful advice I received. > > > > Now I can submit an ActionForm, whether my submission is valid and the > > Action servlet forwards me to the "success" jsp page from my > > action-mapping, or invalid, in which case the Action servlet saves some > > errors into my ActionErrors object and returns me to the "input" page from > > my action-mapping, without the server hanging. > > > > In other words, I can log in correctly, press the back button, and log in > > correctly more than 9 times. I can also log in incorrectly and try again > > more than 9 times. I can do it 20 times! 8 million! (but then I would > > miss Christmas) > > > > Anyway, here is what I have learned from all this: > > > > 1. be sure to close the database connection (Anthony Martin, Geeta Ramani) > > > > 2. limit the connection pool to a single connection during development > > (Andrew Hill) > > > > 3. "You defintely do not want to hang on to a connection longer than > > absolutely necessary. So if you get a connection from your pool at say > > the start of a database access method, make sure you release it back to > > the pool at the end of that method. Plus make sure you place this code in > > a **finally* block - so regardless of whether or not your database query > > was a success, the connection is released to the pool.." (Geeta Ramani) > > > > 4. There is good documentation on using dbcp with tomcat at: > > > > > http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-datasource-examples-howto.html > > > > and at: > > > > http://jakarta.apache.org/commons/dbcp/configuration.html > > (Manfred Wolff) > > > > Thanks very much to everyone who helped. This has been a good learning > > experience! > > > > Heather Buch > > > > > > On Wed, 7 Jan 2004, Geeta Ramani wrote: > > > > > Heather: > > > > > > Sounds like you nailed down your problem. You defintely do not want to hang > > on to a > > > connection longer than absolutely necessary. So if you get a connection from > > your > > > pool at say the start of a database access method, make sure you release it > > back to > > > the pool at the end of that method. Plus make sure you place this code in a > > > **finally* block - so regardless of whether or not your database query was a > > success, > > > the connection is released to the pool.. > > > > > > Also the earlier suggesstion of having just one connection in the pool during > > > development works perfectly - we have used it for a while now and have been > > able to > > > uncover errors we otherwise would not have.. > > > > > > Good luck! > > > Geeta > > > > > > Heather Marie Buch wrote: > > > > > > > Hi, > > > > > > > > PROBLEM SOLVED (sort of) > > > > > > > > It was because I failed to close the database connections. Well, I closed > > > > them too late. > > > > > > > > I had things set up so that when a user logs on, a "service" object is > > > > created for them. The Action servlet calls the service and receive > > > > business objects. The service talks to the database and creates > > > > business objects to give back to the action servlets. I had been > > > > fetching a new connection from the pool upon initialization of the > > > > service, and returning the connection to the pool when the > > > > user logged out and the service object was destroyed. > > > > > > > > When I change my code so that the "service" creates a new db > > > > connection each time it interacts with the db, and returns the connection > > > > in the same method, the server no longer hangs. So I guess I will have to > > > > change it to "one connection per query" instead of "one connection per > > > > user". > > > > > > > > Does this sound right? > > > > > > > > Thanks all! > > > > > > > > Heather Buch > > > > > > > > On Tue, 6 Jan 2004, Anthony Martin wrote: > > > > > > > > > I've had something like that happen when I call > > > > > getDataSource(request).getConnection() and forget to close them. After a > > > > > finite number of requests, the server appears to hang. Actually, > > depending > > > > > on the settings, it will timeout. But how you handle the exception could > > > > > prevent it from being properly reported. > > > > > > > > > > > > > > > On 1/6/04 11:38 AM, in article > > > > > [EMAIL PROTECTED], "Heather > > Marie > > > > > Buch" <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > > > > Manfred Wolff wrote: > > > > > > > > > > > >> Heather. > > > > > >> > > > > > >> Have you studied the tomcat logs? > > > > > > > > > > > > Yes, I have. This is the only thing that is remotely interesting. > > > > > > In localhost_log.2004-01-06.txt I get this: > > > > > > > > > > > > 2004-01-06 03:38:41 action: null > > > > > > 2004-01-06 03:40:08 action: null > > > > > > 2004-01-06 03:40:12 action: null > > > > > > 2004-01-06 03:40:14 action: null > > > > > > 2004-01-06 03:40:16 action: null > > > > > > 2004-01-06 03:40:18 action: null > > > > > > 2004-01-06 03:40:21 action: null > > > > > > 2004-01-06 03:40:23 action: null > > > > > > > > > > > > (corresponding to the 8 times I try to log in). I don't really know > > where it > > > > > > is > > > > > > coming from. I would like to know what is generating the above, so I > > could to > > > > > > in and modify the logging > > > > > > statements to produce a bit more detail! > > > > > > > > > > > > I also have log4j statements in my own code and have been testing this. > > But I > > > > > > can't generate any error or anything beyond the normal output, 8 times. > > > > > > > > > > > > What is interesting is that it always fails on the 9th try. I don't > > think it > > > > > > is > > > > > > a matter of seconds either. I have tested over a longer period (10 > > minutes), > > > > > > but > > > > > > it still gives me 8 requests before it hangs. > > > > > > > > > > > > And Geeta Ramani - thanks. I will take another look at the jdbc stuff! > > > > > > > > > > > > Best, > > > > > > > > > > > > Heather Buch > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > >> Manfred Wolff > > > > > >> > > > > > >> Heather Marie Buch wrote: > > > > > >> > > > > > >>> Hi all, > > > > > >>> > > > > > >>> If I submit the same page more than 8 times, my server dies and I > > have to > > > > > >>> restart. For example, the first 8 times I enter the wrong password, > > struts > > > > > >>> will simply return me to my original form with an error message. > > However, > > > > > >>> the 9th time - the server hangs. > > > > > >>> > > > > > >>> This also occurs if I enter the correct password, then press the > > > > > >>> "back" button and return to the original login screen and submit > > again. I > > > > > >>> can only repeat this 8 times. The server hangs on the 9th try. > > > > > >>> > > > > > >>> I am using: > > > > > >>> > > > > > >>> tomcat 4.1.12 > > > > > >>> httpd 2.0.43 > > > > > >>> mysql 3.23.53 > > > > > >>> struts 1.1 > > > > > >>> > > > > > >>> I am not even sure if this is a struts problem. I suspect it is > > because I > > > > > >>> tried that back button trick with a plain old servlet, and I was > > able to > > > > > >>> do it more than 9 times. > > > > > >>> > > > > > >>> Any help would be greatly appreciated! My boss wants users to be able > > to > > > > > >>> try passwords more than 9 times! > > > > > >>> > > > > > >>> Thanks, > > > > > >>> > > > > > >>> Heather Buch > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > === message truncated === > > > __________________________________ > Do you Yahoo!? > Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes > http://hotjobs.sweepstakes.yahoo.com/signingbonus > > --------------------------------------------------------------------- > 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]

