При использовании встроенного Tomcat для развертывания моего приложения Spring Boot я установил асинхронное тайм -аут следующим образом: < /p>
@Bean
public EmbeddedServletContainerFactory servletContainer() {
TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();
factory.addConnectorCustomizers(new TomcatConnectorCustomizer() {
@Override
public void customize(Connector connector) {
connector.setAsyncTimeout(60000);
}
});
return factory;
}
< /code>
Но, как достичь того же при развертывании на внешнем сервере, например, WebSphere? Эффект. < /p>
edit: < /strong> < /p>
Я попытался реализовать асинхедонфигур в соответствии с предложением Андрея. Но это не сработало, как ожидалось. Ниже приведен мой класс конфигурации: < /p>
@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();
}
}
< /code>
Я дал тайм -аут как 60 секунд, но при попытке этой конфигурации запрос был выведен через 30 секунд. Использовал RestClient. < /p>
Что -то мне не хватает? < /p>
Подробнее здесь: https://stackoverflow.com/questions/400 ... nal-server