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 に答える