Jetty has a special api to allow exactly this kind of request efficiently. The thread is not kept assignd to the "sleeping" connection, but is re-used.
lg Clemens 2008/10/6 Kees Jan Koster <[EMAIL PROTECTED]>: > Dear Uprooter, > >> I'm looking for a server that has to hold many (web services) remote >> clients >> for controlling them. >> I want to do things like sending power off command to a bunch of machines >> remotely. > > Building a botnet? :-) > >> The clients are usually windows machines behind firewalls NAT or web >> proxies that only allow HTTP (this is why I thought of webservices) >> >> The regular request-response fashion that servlet follows is not suitable >> here since the initiator of the operation is the server. >> What can I do in order to solve this and still use web services? > > If you have the resources, you can just block in the servlet on your server. > It's pretty expensive since Tomcat uses a thread per request I believe. Java > threads are expensive (256kB each?), so that adds up quickly. You could > spend some time tuning your thread stacks, though. Depending on your actual > number of clients, you should be able to get this to work with a few GB of > RAM. > > But then, 20K client polling once an hour might be cheaper. You may want to > find a way to stagger the requests though. > > -- > Kees Jan > > http://java-monitor.com/forum/ > [EMAIL PROTECTED] > 06-51838192 > > The secret of success lies in the stability of the goal. -- Benjamin > Disraeli > > > --------------------------------------------------------------------- > 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]