java - Tomcat 上的 Web 服务超时

标签 java web-services tomcat timeout

我有一个运行大约 30 分钟的应用程序。一些输入数据。它还具有测试数据,因此该应用程序大约需要 30 秒。

应用程序应该在网络服务中可用。我使用了 CXF 和 tomcat。一切都适用于测试数据。对于真实数据,大约 1 分钟后会出现超时:SocketTimeoutException

我查看了所有超时参数(server.xml、所有 web.xml),但没有帮助。

我的应用程序非常消耗内存。我将此 vm 值添加到服务器 -Xmx1600m。没有,我得到一个 OutOfMemoryException

知道我还可以尝试什么吗?我可以在水平 session 上设置内存吗? 谢谢!

最佳答案

免责声明:我从未使用过 CXF

本博客here似乎在描述与您的超时非常相似的情况。

给出的示例代码表明使用 HTTPConduitHTTPCLientPolicy 可以解决问题。

MyWebService service = new MyWebService();
MyWebServicePortType client = service.MyWebServicePort();

Client cl = ClientProxy.getClient(client);

HTTPConduit http = (HTTPConduit) cl.getConduit();

HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
httpClientPolicy.setConnectionTimeout(0);
httpClientPolicy.setReceiveTimeout(0);

http.setClient(httpClientPolicy);

client.doSomething(...);

关于java - Tomcat 上的 Web 服务超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4472210/

相关文章:

java - Tomcat 7 受限 (ContainerServlet) 错误

java - 如何在Java中添加两个包含二进制数字的长字符串?

java - Web 服务中的安全身份验证

java - Spring中如何使用Tomcat提供的JNDI DataSource?

Java Web 服务和 .net 客户端日期数据类型互操作性问题

android - android平台上的数据库关系设计

Java Web 应用程序无法连接远程 Tomcat 8 服务器上的数据库

在没有 Eclipse 的情况下使用 tess4j 出现 java.lang.NoClassDefFoundError

java - Spring : Singleton VS Prototype

java - primefaces 3.2 菜单项错误