2

我完全不知道为什么会发生这种情况。我有一个 javascript 文件部署到三个测试框。在其中两个上,当我点击页面时出现以下错误(如下)。如您所见,它说流标头是一串零,并且它正在读取的文件中没有零。我认为这意味着它正在尝试读取数据但没有任何内容通过(因此所有未设置的位......)但它在一个盒子上工作但在其他两个盒子上工作的事实令人困惑,因为它们都部署了相同的代码给他们。

我已经通过 Java 服务查看了任何未关闭或未正确读取的流,但该服务甚至没有打开它们。正如您在堆栈跟踪中看到的那样,它利用Ehcache执行这些操作(并且正确实现)的方式。

关于这在世界上做什么的正确方向的任何指示?

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page/CacheHistory.jsp at line 6

3: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4: 
5: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
6: <jsp:useBean id="cacheHistory" class="org.jpg.CacheHistory" />
7: <html> 
8: <head>
9:  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:519)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:428)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

net.sf.ehcache.CacheException: java.io.StreamCorruptedException: invalid stream header: 00000000
    net.sf.ehcache.store.disk.DiskStorageFactory.retrieve(DiskStorageFactory.java:964)
    net.sf.ehcache.store.disk.Segment.decodeHit(Segment.java:178)
    net.sf.ehcache.store.disk.Segment.get(Segment.java:216)
    net.sf.ehcache.store.disk.DiskStore.get(DiskStore.java:504)
    net.sf.ehcache.store.disk.DiskStore.getQuiet(DiskStore.java:511)
    net.sf.ehcache.store.FrontEndCacheTier.getQuiet(FrontEndCacheTier.java:196)
    net.sf.ehcache.Cache.searchInStoreWithoutStats(Cache.java:2101)
    net.sf.ehcache.Cache.get(Cache.java:1630)
    net.sf.ehcache.Cache.get(Cache.java:1597)

root cause

java.io.StreamCorruptedException: invalid stream header: 00000000
    java.io.ObjectInputStream.readStreamHeader(Unknown Source)
    java.io.ObjectInputStream.<init>(Unknown Source)
    net.sf.ehcache.util.PreferTCCLObjectInputStream.<init>(PreferTCCLObjectInputStream.java:39)
    net.sf.ehcache.store.disk.DiskStorageFactory.read(DiskStorageFactory.java:375)
    net.sf.ehcache.store.disk.DiskStorageFactory.retrieve(DiskStorageFactory.java:960)
    net.sf.ehcache.store.disk.Segment.decodeHit(Segment.java:178)
    net.sf.ehcache.store.disk.Segment.get(Segment.java:216)
    net.sf.ehcache.store.disk.DiskStore.get(DiskStore.java:504)
    net.sf.ehcache.store.disk.DiskStore.getQuiet(DiskStore.java:511)
    net.sf.ehcache.store.FrontEndCacheTier.getQuiet(FrontEndCacheTier.java:196)
    net.sf.ehcache.Cache.searchInStoreWithoutStats(Cache.java:2101)
    net.sf.ehcache.Cache.get(Cache.java:1630)
    net.sf.ehcache.Cache.get(Cache.java:1597)
4

1 回答 1

1

正在读取的文件在失败的平台上已损坏。

于 2012-10-15T20:46:40.943 回答