(this will probably mess up the thread, I didn't received the replies because I was on digest mode)
Thanks for the explanation, I just made a quick try with transparent proxy on top of Jetty and it seems to work fine, from the little I know of Jetty: lots of concurrent requests are handled without needing a corresponding number of threads. I think I was put a bit off track by this page about the continuation: http://wiki.eclipse.org/Jetty/Feature/Continuations#Jetty_Continuations it says that the Continuation mechanism would work on any servlet 3.0 container, and since I saw some use of continuations in transparent's source, I just assumed that it would run fine on Tomat 7. It was probably wishful thinking, since we have to deal with Tomcat :) Cheers, Gianluca > also, the proxy servlet works well leveraging the jetty-continuations > api which was the mechanism for having async servlets on servlet 2.5 > which is normally not possible > > if you are using it on tomcat then the async aspect is falling back to > polling as opposed to true long polling > at this point we have no plans to port the proxy servlet to use > servlet 3.0 but I suppose we might at some point > cheers, > jesse > -- > jesse mcconnell > jesse.mcconnell@xxxxxxxxx On Thu, Jul 26, 2012 at 11:15 AM, Joakim Erdfelt <joakim@xxxxxxxxxxx> wrote: > Sounds like you need to ask Tomcat what is going on. > > We can help you sort out issue if you run the transparent proxy on jetty > itself. > As we ... well .. wrote the jetty server, we should know how it works inside > out. :-) > > -- > Joakim Erdfelt <joakim@xxxxxxxxxxx> > www.webtide.com > Developer advice, services and support > from the Jetty & CometD experts. > > > > On Thu, Jul 26, 2012 at 8:14 AM, Gian Luca Ortelli > <gianluca.ortelli@xxxxxxxxxxx> wrote: >> >> Hi, >> >> I have set up a basic web application to try out the Transparent servlet. >> The relevant block of my web.xml reads: >> >> <servlet> >> <servlet-name>proxy</servlet-name> >> >> <servlet-class>org.eclipse.jetty.servlets.ProxyServlet$Transparent</servlet-class> >> <init-param> >> <param-name>ProxyTo</param-name> >> <param-value>http://localhost:8080/</param-value> >> </init-param> >> <init-param> >> <param-name>Prefix</param-name> >> <param-value>/</param-value> >> </init-param> >> <load-on-startup>1</load-on-startup> >> <async-supported>true</async-supported> >> </servlet> >> >> I'm using version 8.1.1.v20120215 of jetty-servlet, and I'm deploying to >> Tomcat 7.0.21. >> >> A server is listening on http://localhost:8080/, and it takes 5 seconds to >> serve each request that it receives (the response is a few characters). >> >> In my tests I'm firing several simultaneous requests to the server, >> proxied through the Transparent servlet. >> >> Now, from what I know about the Transparent, I would expect that Tomcat's >> HTTP thread pool doesn't limit the number of concurrent requests; as soon as >> a new request comes in, it should be immediately handed over to a thread of >> Transparent's own pool, which in turn does the proxying job using >> asynchronous IO. >> >> Instead, what I observe is that the size of Tomcat's pool IS the limit for >> concurrent requests. Did I misunderstand the functioning and purpose of the >> Transparent? Or is this just a "feature" of the combination Tomcat + Jetty >> servlet? >> >> Hoping that someone will shed some light on this. >> >> Greetings, >> Gianluca >> >> _______________________________________________ jetty-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/jetty-users
