Wildfly 10.1反序列化持久会话

时间:2018-09-28 22:00:13

标签: java jboss wildfly marshalling undertow

使用会话持久性配置为

的Wildfly 10.1
        <subsystem xmlns="urn:jboss:domain:undertow:3.1">
        ...
        <servlet-container name="default">
            <jsp-config x-powered-by="false"/>
            <persistent-sessions path="ssn" relative-to="jboss.server.tmp.dir"/>
            <websockets/>
        </servlet-container>
        ...
    </subsystem>

关闭服务器后,我有一个以WAR文件命名的文件。目录以某种方式可读,我在其中看到一个哈希图和会话值。 我想反序列化它。 深入研究Wildfly源之后,我发现了唯一一个可以从文件中读取会话的类: org.wildfly.extension.undertow.DiskBasedModularPersistentSessionManager 但是,当我尝试从src读取文件时:

DiskBasedModularPersistentSessionManager sessionManager = new DiskBasedModularPersistentSessionManager("C:/tmp", "");
    sessionManager.start(null);
    sessionManager.baseDir = new File("c:/tmp"); 
    sessionManager.loadSerializedSessions("www.war"); 

它把我扔了

Exception in thread "main" java.io.UTFDataFormatException: Invalid byte
at org.jboss.marshalling.UTFUtils.readUTFBytes(UTFUtils.java:173)
at org.jboss.marshalling.river.RiverUnmarshaller.readUTF(RiverUnmarshaller.java:1833)
at org.jboss.marshalling.river.RiverUnmarshaller.doReadClassDescriptor(RiverUnmarshaller.java:959)
at org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1255)
at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:276)
at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:41)
at org.wildfly.extension.undertow.DiskBasedModularPersistentSessionManager.loadSerializedSessions(DiskBasedModularPersistentSessionManager.java:115)
at org.wildfly.extension.undertow.DiskBasedModularPersistentSessionManager.main(DiskBasedModularPersistentSessionManager.java:134)

在对原因进行了一点调查之后,我得到了一个答案,即这是一种保护会话从一个主要版本迁移到另一个主要版本的机制。但就我而言,文件是由相同版本的Wildfly和相同的lib版本生成的。

  • jboss-logging-3.3.0.Final.jar
  • jboss-marshalling-1.4.11.Final.jar
  • jboss-marshalling-river-1.4.11.Final.jar
  • jboss-msc-1.2.6.Final.jar
  • undertow-servlet-1.4.0.Final.jar
  • wildfly-undertow-10.1.0.Final.jar
  • xnio-api-3.4.0.Final.jar

我如何阅读会议内容?

0 个答案:

没有答案