我我的應用程序內運行的嵌入式服務器碼頭(碼頭6.1.24)是這樣的:如何設置碼頭服務器的連接/請求超時?
Handler handler=new AbstractHandler()
{
@Override
public void handle(String target, HttpServletRequest request,
HttpServletResponse response, int dispatch)
throws IOException, ServletException {
//this can take a long time
doSomething();
}
};
Server server = new Server(8080);
Connector connector = new org.mortbay.jetty.nio.SelectChannelConnector();
server.addConnector(connector);
server.setHandler(handler);
server.start();
我想設置一個超時值(2秒),這樣,如果handler.handle()方法需要超過2秒鐘,碼頭服務器將超時並響應408客戶端的http代碼(請求超時)。
這是爲了保證我的應用程序不會長時間持有客戶端請求,並且總是在2秒內響應。
我做了一些研究,並用「connector.setMaxIdleTime(2000)」進行了測試;但它不起作用。
我找到了一個代碼示例[here](http://eclipsesource.com/blogs/2009/10/02/executable-wars-with-jetty/)這可能對你有所幫助。 – FrVaBe 2011-05-04 20:07:42
請不要開始嘗試使用碼頭6來解決這個問題......已經超過了多年的維護時間,並且自那時起已經有超過150個版本,請考慮使用Jetty 7,Jetty 8或甚至更好的Jetty 9。有關Jetty 9的文檔,請訪問https://www.eclipse.org/jetty/documentation/current/index.html – 2013-08-17 18:02:42
您是否找到了實現它的方法? - @「洪陽」 – Udy 2013-12-01 12:33:22