Hello,
 
we are developing a webapp and trying to use Tomcat Comet to allow asynchronous 
processing of requests. Somehow we have problems with persistent connections 
when using Comet (possibly due to some API misusage).
 
So, the short question is: does Tomcat Comet servlets support persistent 
connections?
 
Here is test case description:
 
1. Client opens connection to server and sends request.
2. Servlet processes BEGIN and then several READ events, extracting all content.
3. When all content is received (number of bytes received is equal to the value 
in Content-Length header) processing of request is passed to another 
ResponseSender thread (HttpServletRequest and HttpServletResponse objects from 
CometEvent are put into queue and ResponseSender thread iterates over this 
queue and sends responses).
4. ResponseSender thread writes response and performs flushBuffer().
5. Client receives response.
6. Client sends another request using the same connection.
7. END event arrives to servlet and it must be closed (otherwise it will 
arrived again in the infinite loop).
8. Closing END event results in closure of connection to server and second 
request is lost.
 
It seems that each request in Comet must end with calling close() on the END 
event which will close connection to the client and will prevent client from 
submiting more than one request via this connection (using connection as a 
presistent).
 
Is this behaviour expected? Is there a way to use persistent connections with 
async servlets based on Tomcat Comet architecture?
 
Dmitry Murashenkov | Research & Development | +7 495 926 9347 ext 1689 | 
www.NetCracker.com >>>> Transforming the Service LayerTM



The information transmitted herein is intended only for the person or entity to 
which it is addressed and may contain confidential, proprietary and/or 
privileged material. Any review, retransmission, dissemination or other use of, 
or taking of any action in reliance upon, this information by persons or 
entities other than the intended recipient is prohibited. If you received this 
in error, please contact the sender and delete the material from any computer.

Reply via email to