对于我的JavaScript Web应用程序,后端是JBoss应用程序服务器 JavaScript前端与ALWAYS ONE servlet(前端控制器)联系 servlet在登录时进行一次查找(加上“窄”) 此查找是对SFSB(有状态会话Bean)的查找 此查找的结果存储在HttpSession对象中 servlet和SFSB之间的所有后续通信都是由此完成的 存储的远程对象。
来自JBossWeb(Tomcat)的会话超时(对于HttpSession对象)是30分钟。
因此,每当前端没有任何活动(> 30分钟)时,
会话到期,会话中包含所有内容 - 也是远程接口
SFSB的内容 - 已删除。
与此同时,SFSB被钝化为磁盘 (deploy / ejb3-interceptors-aop.xml - > idleTimeoutSeconds = 300)。
我的SFSB的默认超时是无限的(removedTimeoutSeconds = 0)。因此默认情况下不会自动删除钝化的sfsb。
在我的情况下,是否有任何理由不将SFSB超时(removedTimeoutSeconds)设置为30分钟(30 * 60)(与会话超时相同)?
答案 0 :(得分:0)
唯一的例外是长时间运行与有状态bean关联的后台事务进程。如果完成时间超过指定的持续时间,则会导致异常,但事务可能无效。
因此,即使前端有超时,后台进程也需要完成。在这种情况下,删除超时可能会影响处理和处理。需要相应地改变。