Spring Boot и Vaadin 7 - установка тайм-аута сеанса не влияет

Я использую Vaadin 7.3.9 с Spring Boot 1.2.1.RELEASE, и я хотел бы установить тайм-аут сеанса для своего приложения на 15 минут.

Сейчас я делаю следующее:

В application.properties

#session timeout in seconds
server.sessionTimeout=900

В конфигурации сервлета Vaadin:

@VaadinServletConfiguration(productionMode = false, ui = AppUI.class, closeIdleSessions = true)
public class AppServlet extends VaadinServlet {
}

И после этого делаю из него боб:

@Configuration
public class ServletConfiguration {
  @Bean
  public ServletRegistrationBean vaadin() {
    return new ServletRegistrationBean(new AppServlet(), "/app/*", "/VAADIN/*");
  }
}

Также я следую правилу из Книги Ваадина

Тайм-аут сеанса должен быть больше, чем интервал пульса, в противном случае сеансы закрываются до того, как пульс сможет их сохранить.

Я не устанавливаю этот параметр, поэтому применяется значение по умолчанию (опять же из Book of Vaadin):

Интервал запросов пульса можно указать в секундах с помощью параметра heartbeatInterval либо в качестве параметра контекста для всего веб-приложения, либо в качестве параметра инициализации для отдельного сервлета. Значение по умолчанию - 300 секунд (5 минут).

К сожалению, через 15 минут приложение все еще живо. Что я делаю неправильно?


person Michał Kowalczyk    schedule 07.04.2015    source источник


Ответы (1)


Мне удалось выяснить, в чем дело. Я использую индикатор выполнения в своем приложении, поэтому у меня установлен глобальный интервал опроса. Достаточно включить его непосредственно перед тем, как произойдет прогресс, и выключить, когда работа будет выполнена - нет необходимости держать его постоянно включенным.

Это означает, что приведенный выше код делает то, что я от него ожидаю.

person Michał Kowalczyk    schedule 08.04.2015