我已经在 Sun 轻量级 http 服务器上发布了 web 服务端点。服务器正在运行用于连接的线程池执行程序 (Executors.newCachedThreadPool()
)。
我也在使用常规的 Web 服务客户端(也是 JAX-WS)。
似乎对于每次超过 5 分钟的调用,服务器(或客户端)都会结束当前调用线程并打开一个新线程。在服务器中,它看起来像是建立了一个新连接并试图运行相同的操作。
这只会发生一次,这意味着“第二次通话”可能会超过 5 分钟。
连接是否有默认超时?有没有办法配置它?
最佳答案
对于轻量级的 http 服务器,连接将在 5 百万后变为空闲。实现(查看 ServerImpl
和 ServerConfig
)关闭空闲连接,目前没有公共(public)属性来设置此空闲超时。如果你想要这种控制,你可能想要使用一个 servlet 容器。或者你可以使用 Jetty (which provides a SPI) instead of Sun default HttpServer .
关于java - JAX-WS超时问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2217660/