Thanks Filip. -----Original Message----- From: Filip Hanik - Dev Lists [mailto:[EMAIL PROTECTED] Sent: Thursday, May 03, 2007 6:39 PM To: Tomcat Users List Subject: Re: Comet and Async Servlets - Architecture Question
Praveen Balaji wrote: > Thanks Sebastiaan. I came to about the same conclusions > as you listed out here. I also saw your post on parsing POST parameters and I think > it's going to create problems for me as well! > > > > > > I am unsure the API would be "improved". I > simply think, as Filip pointed out earlier, what we want to use is Async > servlets and Comet is not intended to solve the same problem. > this is work in progress, and probably, you'd be able to do it using the same API. check in on the dev list Filip > > > Let's see what I can come up with! > > Praveen > > ----- Original Message ---- > From: Sebastiaan van Erk <[EMAIL PROTECTED]> > To: Tomcat Users List <users@tomcat.apache.org> > Sent: Wednesday, May 2, 2007 11:19:29 AM > Subject: Re: Comet and Async Servlets - Architecture Question > > Praveen Balaji wrote: > >> The >> last few days I have been evaluating using CometProcessor to work like an >> Async Servlet for me. I pick up the CometEvent object on BEGIN event and >> process the whole request asynchronously. When I am done, I close the I/O stream. >> >> >> I >> would like to know what the Tomcat developers and the developers in general >> think about this approach. Is it a misuse of the API to process requests >> asynchronously, outside of the event method? Are there any issues that I should be cautious about? Synchronization issues? >> >> >> >> > See the mailing list archive of the last month and filter on "comet". > There have been quite a few posts on exactly this subject. > > There are multiple issues: > > 1) Closing the I/O stream (on the response) does not end the > request/response. It takes another 30-60 seconds before the event method > gets called with an END event leaving a lot of request open unnecessarily. > > 2) Nothing is synchronized in Comet, so you have to do all > synchronization yourself. You have to make sure that you do not write to > the output stream after the event is closed (even though you may still > have the reference in your asynchronous application code). I seem to > have eliminated most issues by synchronizing access to the response > output stream and using the same lock around the event.close() method in > the event() method of the CometProcessor. However I still very > sporadically get a ClientAbortException/ClosedChannelException which > suggests that I've missed a place where synchronization is necessary. It > might not be possible to synchronize this though, because it could > happen deep inside Tomcat. The API has no information about what to > synchronize for asynchronous use. > > 3) If you rely on the POST method to send parameters to your > CometProcessor, then you have to parse the parameters yourself; there is > an issue that doing getParameter() on the request in the BEGIN event may > return null because the request body has not yet been received by the > server at the moment of the getParameter() call. > > One of the Comet developers (Remy) suggests that it might be better to > just use normal servlets and buy some extra memory for the extra threads. > > As far as the current API goes, I would say it is probably a "misuse", > though I would very much like to see the API improved so that this is no > longer the case. > > Regards, > Sebastiaan > > >> Thanks, >> Praveen Balaji. >> >> >> >> >> >> >> >> __________________________________________________ >> Do You Yahoo!? >> Tired of spam? Yahoo! Mail has the best spam protection around >> http://mail.yahoo.com >> >> > > --------------------------------------------------------------------- > To start a new topic, e-mail: users@tomcat.apache.org > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > > ------------------------------------------------------------------------ > > No virus found in this incoming message. > Checked by AVG Free Edition. > Version: 7.5.467 / Virus Database: 269.6.2/785 - Release Date: 5/2/2007 2:16 PM > --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]