当前位置: 首页 > 知识库问答 >
问题:

将tomcat会话超时与已部署的应用程序同步

张炳
2023-03-14

我在tomcat/webapps中部署了一个外部应用程序(通过html页面访问),并试图将其与我的Liferay会话同步。问题是超时不同步(用web.xml中的session timeout属性指定),访问此页面时的任何活动都不会向Liferay注册(因此,超时不会重置,因此我总是在session timeout属性中指定的时间量(默认为60分钟)后超时)。

我尝试在我的html页面中显式调用Liferay. Session.extend(),并且Firebug显示进行了扩展会话的POST调用,但Liferay似乎仍然无法识别它。

任何想法都将不胜感激。

谢谢

共有1个答案

曾昂然
2023-03-14

当您在liferay中处理应用程序时,这意味着您正在处理一个portlet,除非您移动到另一个portlet,否则liferay会话不会重置。因此,一旦60分钟结束,您将自动超时。

无论您在portlet中做什么,它都是一个ajax调用w. r. t Liferay,因此解决方案是尝试为每个ajax调用扩展会话。

尝试将以下jquery脚本代码放入portlet网页中。

jQuery(文档)。就绪(函数(){

    A4J.AJAX.AddListener({
        onafterajax : function(req, evt, data) {
            Liferay.Session.setCookie();
        }
    });
});

祝你好运

 类似资料:
  • 问题内容: Tomcat5.5上部署的Web应用程序的默认会话超时是多少?它是特定于浏览器的吗?在我的Web应用程序中,默认超时没有在代码中或代码中提及。 问题答案: 打开并找到这个 所有Web应用程序都隐式继承自此默认Web描述符。您可以覆盖session-config以及在web.xml中定义的其他设置。 这实际上来自我的Tomcat 7(Windows),但我认为5.5 conf差别不大

  • 部署在Tomcat5.5上的Web应用程序的默认会话超时是多少?它是浏览器特定的吗?在我的Web应用程序中,默认超时在和代码中都没有提到。

  • 我正在尝试使用Spring Cloud设置几个服务,在我将Eureka客户端服务部署到Tomcat之前,一切似乎都运行良好。当我通过网关应用调用服务时,会出现以下错误: 然而,它在日食中完美地工作。当我从Tomcat运行发现和网关服务,并从eclipse运行Eureka客户端服务时,它甚至可以工作。但是一旦我在tomcat上运行相同的服务,我就会出错。 我用的是Brixton。M5、Java8和T

  • 完成干净的构建后,我将war文件复制到Tomcat的文件夹中。但是部署会发生两次,并且在上下文已经存在的情况下以异常结束。我错过了什么? 非常感谢您的帮助。

  • 我想部署两个应用程序foo。war和条形图。war到同一个Tomcat实例。他们是否可以侦听不同端口上的连接,例如,foo侦听端口81,bar侦听端口82?如果是,我如何配置?我意识到应用程序没有必要监听不同的端口,但这正是我想要实现的。 此外,如果我将重命名为,使其在根上下文中运行,那么对该Tomcat实例的所有请求都将由foo应用程序处理,因此bar必须部署到单独的Tomcat实例,这是否正确

  • 我有一个Grails(2.5.3版)应用程序,当我通过选项:要部署的WAR文件在Tomcat中部署时,选择WAR文件,会出现以下错误。如果我尝试一个更简单的应用程序(大小、复杂度等),它运行得很好。 但是,如果在从manager运行应用程序时手动将war文件的内容复制到Tomcat路径:pathTomcat/webapps/myApplication,则效果良好。出现任何错误。 错误: Grail