2012-01-11 42 views
1

我有一个GWT Web应用两个请求,在Tomcat下运行,具有下列远程服务:的Tomcat只允许在同一时间

public class MyServiceImpl extends RemoteServiceServlet implements MyService { 

    @Override 
    public void doIt() { 

     System.out.println(Thread.currentThread() + " " + this); 

     try { 
      Thread.sleep(50 * 1000); 
     } catch (InterruptedException e) { 
      // TODO Auto-generated catch block 
      System.out.println(e.getMessage()); 
     } 

     System.out.println(Thread.currentThread() + " " + this + " I have done waiting "); 
    } 
} 

在我的网页我有一个按钮,单击时调用服务。问题是,如果我从三个单独的浏览器选项卡中按下按钮两次,则只有前两个正在执行,第三个排队,并在前两个完成之后立即执行。我应该修改什么以允许在同一时间发生任意数量的请求?

连接器在server.xml中是:

<Connector className="org.apache.catalina.connector.http.HttpConnector" 
     port="8080" minProcessors="50" maxProcessors="75" 
     enableLookups="true" redirectPort="8443" 
     acceptCount="100" debug="0" connectionTimeout="160000" 
     maxKeepAliveRequests="15"/> 
+0

哪个浏览器?你可以尝试其他几个人吗?浏览器可以与服务器保持开放连接的数量有限制。 RFC表示“不应该超过2”,但我认为它更像4-8新的。 – milan 2012-01-11 10:53:16

+0

如果在打开这两个文件的情况下尝试连接另一个浏览器会发生什么? – milan 2012-01-11 10:58:28

+0

你也可以尝试非阻塞连接器:protocol =“org.apache.coyote.http11.Http11NioProtocol” – milan 2012-01-11 11:01:25

回答

2

有限制的开放连接数的浏览器可以保持与服务器。 RFC表示“不应该超过2”,对于IE 6 & 7则为2,但在新版本中可能更像4-8。可以将IE配置为允许更多:http://support.microsoft.com/?kbid=282402

+0

谢谢。我从来没有将此视为浏览器问题。 – Geo 2012-01-11 12:52:27