我是 Java Web 服务新手,在使用 Web 服务配置 Java 服务器端应用程序时遇到一些问题。我将尝试详细解释它:
- 我在 NetBeans 中开发了一种 Java Web 服务,该服务接收一个参数作为输入并输出另一个参数。
- 我的一个 Web 方法应该执行一项非常耗时和资源消耗的操作,其中涉及大型 SQL 查询和 CSV 文件生成。
- 据我测试此操作,运行时间可能很容易在 30 秒到 5 分钟之间。
- 问题在于,这里的所有内容似乎都有超时,从而破坏了整个过程:客户端 Web 服务请求、Web 浏览器、tomcat 服务器和服务器 Java Web 服务。
我有两个问题:当我说所有这些部分都有一个应该检查和配置的超时时,我是对的吗?如果是的话,我想知道在哪里可以修改我的 Web 服务实现中的超时值(我查看了 web.xml 和 sun-jaxws.xml 文件,但不知道要修改什么以及在哪里修改)。 ..).
非常感谢!!
最佳答案
在 Tomcat 的 server.xml 中,您可以在“Connector”元素中找到一个“connectionTimeout”属性,它定义了 tomcat 的超时范围(以毫秒为单位)。
但是,除了增加超时之外,还有更干净的方法来处理 Web 服务的资源消耗任务。考虑在单独的线程中完成繁重的工作,并为您的客户提供检查线程是否已完成的可能性。
关于java - 在服务器端设置Java Web服务超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14607854/