Hi Sri Thanks for the fast response, that was really useful!
Thanks Paul On Thu, Apr 15, 2010 at 9:48 AM, Sripathi Krishnan <sripathikrish...@gmail.com> wrote: > Servlet containers typically make only one object of your Servlet. This > object is shared across several threads. Several threads is a configurable > property on most servers, but usually varies between 15 to 30. If you have > 100 users connecting simultaneously, the server will not start 100 threads - > the remaining requests will be queued. > > But multiple threads sharing the same Servlet (or end-point, as you put it) > object does not usually matter. That is, if you follow servlet best > practices. > > The GWT RPC Servlet is Stateless. Even if 1000 users access it at the same > time, it is OKAY - they will not interfere with each other. When you write a > RPC Servlet extending RemoteServiceServlet, you should also ensure that it > is stateless. There are several ways to do it, but the easiest is to NOT use > member variables in your ServiceImpl. > > Users in different sessions are also serviced by the same Servlet object. It > is up to you to handle them differently by reading from the Session object > and taking a different action for each user. And, just to go a step further, > the recommended approach is to not use sessions. That gives you > opportunities to scale later. > > EJB's are a complicated beast and meant to solve an entirely different class > of problems. Even if you already use EJBs in your project, you should still > write a RPC Servlet that delegates the heavy-processing to EJB. > > --Sri > > > > On 15 April 2010 13:19, Paul Grenyer <paul.gren...@gmail.com> wrote: >> >> Hi All >> >> I've been thinking a lot about the GWT RPC mechanism and from the >> tests that I've done it appears that the same endpoint instance is >> used for every RPC call. So presumably if you've got a hundred users >> all making the same RPC call all at the same time there are 100 >> different threads trying to access the same object. Is that correct? >> >> Just having written that, another thought occurs that I haven't >> checked for, is it just that the same endpoint object is used for a >> session? So different users, who obviously have different sessions, >> get their own endpoint object? >> >> Anyway, assuming I was right the first time and an RPC endpoint is >> shared by all sessions, has anyone considered pooling endpoints and >> serving them up per session like I believe EJB does? >> >> -- >> Thanks >> Paul >> >> Paul Grenyer >> e: paul.gren...@gmail.com >> b: paulgrenyer.blogspot.com >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Google Web Toolkit" group. >> To post to this group, send email to google-web-tool...@googlegroups.com. >> To unsubscribe from this group, send email to >> google-web-toolkit+unsubscr...@googlegroups.com. >> For more options, visit this group at >> http://groups.google.com/group/google-web-toolkit?hl=en. >> > > -- > You received this message because you are subscribed to the Google Groups > "Google Web Toolkit" group. > To post to this group, send email to google-web-tool...@googlegroups.com. > To unsubscribe from this group, send email to > google-web-toolkit+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/google-web-toolkit?hl=en. > -- Thanks Paul Paul Grenyer e: paul.gren...@gmail.com b: paulgrenyer.blogspot.com -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.