java - Quartz 调度程序在异常后不工作 [java.lang.IllegalStateException : HttpSession is invalid]

标签 java exception weblogic scheduled-tasks quartz-scheduler

我目前正在我的 Web 应用程序中使用 Quartz 调度程序来在运行服务器后安排任务,然后定期重复该任务。
该过程在我的开发服务器中运行良好,但是当部署到生产中时,它很好,但有时当发生一些异常时它会停止工作。不知道这个异常是因为这个调度过程还是有别的原因。 异常总是发生在调度应该开始的 2-3 分钟之前。

这是堆栈跟踪。

java.lang.IllegalStateException: HttpSession is invalid
    at weblogic.servlet.internal.session.SessionData.getInternalAttribute(SessionData.java:690)
    at weblogic.servlet.internal.session.SessionData.getInternalAttribute(SessionData.java:685)
    at weblogic.servlet.internal.session.JDBCSessionData.dbRefresh(JDBCSessionData.java:428)
    at weblogic.servlet.internal.session.JDBCSessionData.getFromDB(JDBCSessionData.java:102)
    at weblogic.servlet.internal.session.JDBCSessionContext.getSessionDataFromDB(JDBCSessionContext.java:240)
    at weblogic.servlet.internal.session.JDBCSessionContext.getSessionInternal(JDBCSessionContext.java:220)
    at weblogic.servlet.internal.session.SessionContext$SessionInvalidator.cleanupExpiredSessions(SessionContext.java:938)
    at weblogic.servlet.internal.session.SessionContext$SessionInvalidator$1.run(SessionContext.java:894)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    at weblogic.servlet.internal.session.SessionContext$SessionInvalidator.timerExpired(SessionContext.java:888)
    at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

无论如何,我在开发和生产中都使用 WebLogic 应用程序服务器。

最佳答案

这可能会发生,因为当您尝试从中读取某些内容时,您的 session 变得无效。您可以在此处执行的一件事是检查配置文件中的 session 超时条目。很可能您需要增加 session 超时值。

关于java - Quartz 调度程序在异常后不工作 [java.lang.IllegalStateException : HttpSession is invalid] ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10408039/

相关文章:

java - 声明的异常仍然抛出错误,必须捕获或声明抛出

java - 无论我做什么,我的程序都会返回 StringIndexOutOfBounds 异常

java - java程序抛出异常后如何继续执行?

c# - 服务引用(VS2013)在命名空间中使用元素名称声明了多个故障

java - mysql存储过程总是返回参数值= 0

java - 如何将netbeans项目制作为嵌入数据库的jar文件?

java.lang.NoClassDefFoundError : WEB-INF/classes/

java - 针对 weblogic.jar 进行编译的替代方案?

Java string split() 正则表达式

java - LinkedHashMap removeEldestEntry 删除 2 个元素?