Jboss中的Wicket应用程序:会话过期太快

时间:2017-01-03 09:30:36

标签: java jboss wicket wicket-6

我正在运行Wicket 6.x服务器上托管的Jboss EAP 6.2应用程序。

我的web.xml文件包含:

<session-config>
    <session-timeout>20</session-timeout>
</session-config>

这表明会话超时为20分钟。但是,实际的超时时间要低得多。我还没有确定一个精确的时间,但我可以告诉你,即使只用了5分钟,这个会话已经过期了。当我刷新页面时,它会被重新初始化并且所有状态都消失了。

我可以延长此超时时间吗?它是如何控制的?

2 个答案:

答案 0 :(得分:1)

JBoss 6.x应该将默认的http会话超时设置为30分钟。 通常,正确设置web.xml应覆盖默认值。

尝试直接在JBoss服务器连接器上访问应用程序时测量会话超时。

https://hostname:8443/app_context_root 要么 http://hostname:8080/app_context_root

除非您已自定义端口,否则应如上所述进行访问。

如果您在JBoss之前拥有Apache HTTPD服务器,并通过Apache代理访问它,它将关闭Apache HTTPD中配置的会话。 这同样适用于任何F5负载均衡器,依此类推。

答案 1 :(得分:0)

经过额外测试后,结果问题是EJB池的超时时间:

<pools>
     <bean-instance-pools>
         <strict-max-pool name="slsb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
         <strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
     </bean-instance-pools>
</pools>

将值更改为20分钟解决了问题

相关问题