StreamCorruptedException只有三个盒子中的两个?

时间:2012-10-15 16:41:33

标签: java javascript servlets stream ehcache

我完全不知道为什么会这样。我有一个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)

1 个答案:

答案 0 :(得分:1)

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