に展開するときに非同期タイムアウトを設定する方法を、私は非同期タイムアウトを設定しましたWebsphereなどの外部サーバーにデプロイする場合と同じですか?春ブーツは、次のように私の春ブーツアプリを展開するための組み込みのTomcatを使用している間、外部のサーバ
spring.mvc.async.requestタイムアウト= 600000
をしかし、これは何の効果もありませんでした:
は、プロパティを使用してみました。
編集:
私はアンドレイの提案に従ってAsyncConfigurerを実装しようとしました。しかし、期待どおりに動作しませんでした。以下は私の構成クラスです:
@SpringBootApplication
@EnableAsync
public class Application implements AsyncConfigurer {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Override
public Executor getAsyncExecutor() {
Executor executor = new ThreadPoolExecutor(10, 20, 60, TimeUnit.SECONDS, new ArrayBlockingQueue<>(10),
new ThreadPoolExecutor.AbortPolicy());
return executor;
}
@Override
public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
// TODO Auto-generated method stub
return new SimpleAsyncUncaughtExceptionHandler();
}
}
私は60秒としてタイムアウトを与えましたが、この構成を試すと30秒後に要求がタイムアウトしていました。 RestClientを使用していました。
紛失しているものがありますか? SpringApplicationで
私はAsynCConfigurerを実装せず、@ SpringBootApplicationでマークされたクラスに直接いくつかの設定を書いているということをSpringブートの方法で行う方法がありますか? –
@bidishamukherjeeコードスニペットは '@ SpringBootApplication'でマークされたクラスからのものです。そのクラスはAsyncConfigurerを実装する必要があります。 –
それを得ました。しかし、spring.mvc.async.request-timeoutプロパティを設定しても機能しないのはなぜですか?すでに与えられた答えをありがとう。 –