Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.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
Java spring MVC应用程序中请求的会话失效_Java_Spring_Jakarta Ee_Spring Mvc - Fatal编程技术网

Java spring MVC应用程序中请求的会话失效

Java spring MVC应用程序中请求的会话失效,java,spring,jakarta-ee,spring-mvc,Java,Spring,Jakarta Ee,Spring Mvc,我有一个spring应用程序。一个长时间运行的服务调用一个缓存加载过程大约需要1小时,在该过程完成之前返回此错误 例外情况 org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalStateException: setAttribute: Session [C8CC93C497AE8AD1278FF844277C021D

我有一个spring应用程序。一个长时间运行的服务调用一个缓存加载过程大约需要1小时,在该过程完成之前返回此错误

例外情况

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalStateException: setAttribute: Session [C8CC93C497AE8AD1278FF844277C021D] has already been invalidated
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:656)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
根本原因

java.lang.IllegalStateException: setAttribute: Session [C8CC93C497AE8AD1278FF844277C021D] has already been invalidated
    org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1452)
    org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1417)
    org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:156)
    com.pearson.ltg.qmo.dashboard.web.controller.EhcacheRefreshController.loadData(EhcacheRefreshController.java:127)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.lang.reflect.Method.invoke(Unknown Source)
    org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
    org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426)
    org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

更新会话超时默认值为30分钟,如果您真的想从用户会话中运行一小时的内容。只需浏览一下,如果加载缓存需要一小时,则最好不要缓存,再想一想。谢谢你的提示。我们与Rally缓慢的Restfull web服务进行通信,并使用EHcache每天缓存一次所有数据。Axis用于SOAP调用。这就是慢速缓存加载过程的原因。不要质疑您的设计,但您可能会考虑使用调度器调用长时间运行的进程,或者将其委托给单独的进程,而不是在Web会话上运行它。我们有一个调度程序,同样的进程也可以使用管理屏幕调用。