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

在Eclipse中运行Tomcat并获得“从持久存储加载会话的异常”

何晗昱
2023-03-14
Jan 17, 2014 9:53:33 AM org.apache.catalina.core.StandardContext reload
INFO: Reloading Context with name [/app] has started
Jan 17, 2014 9:53:33 AM org.apache.catalina.core.ApplicationContext log
INFO: Destroying Spring FrameworkServlet 'dispatcherServlet'
Jan 17, 2014 9:53:33 AM org.apache.catalina.core.ApplicationContext log
INFO: Closing Spring root WebApplicationContext
[DEBUG] [ContainerBackgroundProcessor[StandardEngine[Catalina]] 17.01.14 09:53:33] (Utils.java:logSystemState:365) System Info: active sessions:  1, availableProcessors:  8, maxMemory: 1754 MB, totalMemory:  658 MB, freeMemory:  110 MB, loadAverage: 0.11
[DEBUG] [ContainerBackgroundProcessor[StandardEngine[Catalina]] 17.01.14 09:53:33] (LifeCycle.java:destroy:89) APP 1.1.4 (built on Fri, 17.01.2014, 09:55), destroyed at /app, running on target environment 'dev'. Uptime: 1 hour, 4 minutes, 7 seconds and 314 milliseconds. Spring: 3.2.6.RELEASE, Hibernate: 4.2.8.Final
Jan 17, 2014 9:53:33 AM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
SEVERE: The web application [/app] registered the JDBC driver [org.postgresql.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
Jan 17, 2014 9:53:36 AM org.apache.catalina.core.ApplicationContext log
INFO: No Spring WebApplicationInitializer types detected on classpath
Jan 17, 2014 9:53:36 AM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext

...

Jan 17, 2014 9:53:37 AM org.apache.catalina.session.StandardManager startInternal
SEVERE: Exception loading sessions from persistent storage
java.lang.ClassNotFoundException: com.mycompany.app.spring.AuthenticationWrapper
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:270)
    at org.apache.catalina.util.CustomObjectInputStream.resolveClass(CustomObjectInputStream.java:76)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1610)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1515)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1989)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1913)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    at org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1595)
    at org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:1060)
    at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:284)
    at org.apache.catalina.session.StandardManager.load(StandardManager.java:204)
    at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:491)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5443)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3954)
    at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:426)
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1345)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1530)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1519)
    at java.lang.Thread.run(Thread.java:724)

Jan 17, 2014 9:53:37 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/app] startup failed due to previous errors
Jan 17, 2014 9:53:37 AM org.apache.catalina.core.ApplicationContext log
INFO: Closing Spring root WebApplicationContext
Jan 17, 2014 9:53:37 AM org.apache.catalina.core.StandardContext reload
INFO: Reloading Context with name [/app] is completed

共有1个答案

黄淇
2023-03-14

消除此错误的一种方法是在重启时禁用会话持久性。可以通过编辑文件catalina_home/conf/context.xml并将 的pathname属性设置为空字符串来完成此操作。

当Tomcat关闭时,还应该从catalina_home/work/catalina/localhost/ 文件夹中删除所有旧的session.ser文件。

发生这种情况可能是因为Tomcat没有完全关闭,所以会话对象在序列化过程中被损坏。

 类似资料:
  • 问题内容: 我对春季petclinic应用程序进行了许多更改。目前,当我使用eclipse as as …在服务器上运行时,在tomcat服务器的新实例中启动应用程序时,收到以下错误消息: 服务器和应用程序随后可以成功启动,但是我想修复导致错误消息的所有内容。谁能告诉我如何克服此错误消息? 堆栈跟踪不会列出应用程序中的任何文件,因此我不知道在应用程序代码中可以查找该位置的问题。您可以查看githu

  • 我试图理解Tomcat(版本8.0.21)在执行kill-9之后的会话持久性。当我启动tomcat(使用startup.sh)时,我(随机)观察到web应用程序的http会话(这些会话是在kill命令执行之前创建的)仍在维护。如果我执行shutdown.sh来停止tomcat,然后再次启动tomcat,那么我理解重启期间的会话持久性。我对kill-9的理解类似于“断电”。所以我的问题是: 标准管理

  • 问题内容: 在CentOS 6.3上与Python 2.7,Apache + mod_wsgi一起运行 当我在localhost上时,一切正常。但是,当我在Azure中的vm上运行代码时,我看不到会话信息在页面之间保留。 基本上我的看法是: 打印输出为: 我对apache的wsgi配置是: 我设置了secret_key: 我尝试同时设置SERVER_NAME,但这无济于事: 关于如何进行更多调试的

  • 问题内容: 关闭redis服务器后,使用set存储的值被破坏,在这里我找到了使用持久性存储的方法,有人帮助我,如何使用javascript实现它? 我想将来自客户端的一些值存储在redis db中,并且必须在其他客户端中使用该值。 问题答案: 您需要配置Redis服务器以支持持久性机制。此配置存储在文件中,该文件在redis-server命令行上作为参数给出。 这是Redis 2.4的默认文件:h

  • 问题内容: 我曾经用PHP启动会话,但是当我的浏览器关闭时,该会话消失了。 如何使用PHP创建持续持续浏览器关闭的持久会话? 问题答案: 请参阅值session.cookie_lifetime。 默认值意味着在浏览器关闭时结束会话。 您可以使用ini_set在开始会话之前直接在应用程序中覆盖此值或在应用程序中设置它。将其设置为大于此值将导致会话在该持续时间内存活。 例如 上面的示例使会话cooki

  • 嗨,我目前正在开发一个Android应用程序,该应用程序使用改进型来拨打网络电话。下面是关于我的需求的基本概述。