2011-10-28 49 views
0

我可以配置Glassfish放弃任何需要超过10秒处理的请求吗?如何配置Glassfish以挂起请求?

例如: 我使用Glassfish来托管我的Web服务。线程池被配置为具有最多5个连接。

我的服务有做这个的方法:

System.out.println("New request"); 
Thread.sleep(1000*1000); 

我创建5个服务的请求,我在日志中看到5个信息的“新要求”。然后服务器停下来响应looong时间。

在现场环境中,所有请求必须在不到一秒的时间内处理。如果需要更多时间处理,则请求存在问题,我希望Glassfish放弃此类请求,但保持活动状态并提供其他请求。

回答

0

目前我在代码中使用了一种解决方法。在我的web方法开始时,我启动了一个单独的线程,用于处理超时请求,如下所示:How to timeout a thread

我不喜欢这个解决方案,仍然相信Glassfish中必须有一个配置设置才能应用这个逻辑适用于所有的请求,而不仅仅是一种方法。