0

在具有长时间运行过程并以json形式返回输出的spring控制器中,经过一段时间后,控制器仍在服务器中处理时返回空json。如何在春天处理这个

4

1 回答 1

0

在从数据库中获取记录或从 Spring Web 服务获取 JSON 或 XML 格式的记录时,有时会发生 connectionTimeout(500 I/O 错误)或 readTimeout 错误。

使用HttpComponentsMessageSender在 spring mvc 中增加服务运行时间/连接超时读取超时

需要 jar spring-ws-2.1.3.RELEASE-all.jar将其添加WEB-INF/lib或添加到下面的Maven依赖项中pom.xml

<!-- https://mvnrepository.com/artifact/org.springframework.ws/spring-ws -->
<dependency>
    <groupId>org.springframework.ws</groupId>
    <artifactId>spring-ws</artifactId>
    <version>2.1.3.RELEASE</version>
</dependency>

在mvc-dispatcher-servlet.xml中添加以下代码

<bean
    class="org.springframework.ws.transport.http.HttpComponentsMessageSender">
    <property name="connectionTimeout" value="600000" />
    <property name="readTimeout" value="600000" />
</bean>

注意: 600000 表示 10 分钟。如果你increase timeout只想乘

1000 毫秒 * 60 秒 * 10 分钟= 600000

1000 毫秒 * 60 秒 * 30 分钟= 1800000

于 2016-07-28T13:40:43.960 回答