Tomcat не может загрузить класс при десериализации файла сеанса после перезапуска - PullRequest
0 голосов
/ 09 февраля 2019

Я пытаюсь заставить сеанс Tomcat работать при перезапуске сервера, но он не загружает десериализованные классы, которые фактически доступны в веб-приложении.

Я установил <Manager pathname="/tmp/sessions"> в conf/context.xml, чтофактически работает при повторном развертывании или перезагрузке одного и того же веб-приложения (без выключения), но когда мне нужно перезапустить сервер (bin / shutdown.sh и bin / startup.sh), я получаю ClassNotFoundException для моей сущности User, которая являетсяСериализуемый класс, содержащийся в веб-приложении.

09-Feb-2019 13:30:53.592 SCHWERWIEGEND [localhost-startStop-1] org.apache.catalina.session.StandardManager.startInternal Exception loading sessions from persistent storage
 java.lang.ClassNotFoundException: de.company.model.User
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1285)
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:348)
        at org.apache.catalina.util.CustomObjectInputStream.resolveClass(CustomObjectInputStream.java:160)
        at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1819)
        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1713)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1986)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422)
        at org.apache.catalina.session.StandardSession.doReadObject(StandardSession.java:1611)
        at org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:1077)
        at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:218)
        at org.apache.catalina.session.StandardManager.load(StandardManager.java:162)
        at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:356)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5206)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
        at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:596)
        at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1805)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

Таким образом, он не загружает сериализованные классы, когда это исключение возникает при перезапуске, но при повторном развертывании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...