Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vaadin会话超时和UI问题_Vaadin_Vaadin7_Vaadin Touchkit - Fatal编程技术网

Vaadin会话超时和UI问题

Vaadin会话超时和UI问题,vaadin,vaadin7,vaadin-touchkit,Vaadin,Vaadin7,Vaadin Touchkit,我发现Vaadin UI变为灰色,变为非活动状态,并且未显示会话过期消息。 此外,会话并不总是在1分钟后超时,我已将心跳设置为比会话超时更高的值,因此会话应该总是在心跳保持活动之前超时 下面是我与会话到期相关的配置和代码 <context-param> <param-name>heartbeatInterval</param-name> <param-value>240</param-value> </context-para

我发现Vaadin UI变为灰色,变为非活动状态,并且未显示会话过期消息。 此外,会话并不总是在1分钟后超时,我已将心跳设置为比会话超时更高的值,因此会话应该总是在心跳保持活动之前超时

下面是我与会话到期相关的配置和代码

<context-param>
 <param-name>heartbeatInterval</param-name>
 <param-value>240</param-value>
</context-param>

<session-config>
    <session-timeout>1</session-timeout>
</session-config>

<servlet>
    <servlet-name>VaadinExample</servlet-name>
    <servlet-class>com.example.VaadinExample</servlet-class>
    <init-param>
      <param-name>closeIdleSessions</param-name>
      <param-value>true</param-value>
    </init-param>
</servlet>
有什么想法吗?

240 1-->将超时设置为60(分钟)

浏览器每240秒(每4分钟)发送1次心跳。 或者你的超时时间是1分钟


如果服务器在3次尝试(4分钟*3=12分钟)后未收到1个心跳信号,则会话将关闭

您在应用程序中使用推送还是轮询?如果是这样,你就有问题了!关于同一个问题,有一个已知的bug。@巴顿,你能发布一个关于这个问题的链接吗?
getService().setSystemMessagesProvider(
            new SystemMessagesProvider() {
            @Override 
            public SystemMessages getSystemMessages(
                SystemMessagesInfo systemMessagesInfo) {
                CustomizedSystemMessages messages =
                        new CustomizedSystemMessages();
                messages.setSessionExpiredCaption("Session Expired");
                messages.setSessionExpiredMessage("You have been inactive for over 30mins, click here to reload the application.");
                messages.setSessionExpiredNotificationEnabled(true);
                return messages;
            }
        });