代码之家  ›  专栏  ›  技术社区  ›  Arne Deutsch

“streamCorruptedException:流头无效”的可能原因

  •  7
  • Arne Deutsch  · 技术社区  · 14 年前

    我(试着)用口水来处理我的定价规则。但当我尝试执行规则时,会引发以下异常:

    java.lang.RuntimeException: KnowledgeAgent exception while trying to deserialize KnowledgeDefinitionsPackage  
         at org.drools.agent.impl.KnowledgeAgentImpl.rebuildResources(KnowledgeAgentImpl.java:418)
         at org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:120)
         at org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:109)
         at com.sapienter.jbilling.server.pluggableTask.PluggableTask.readKnowledgeBase(PluggableTask.java:115)
         at com.sapienter.jbilling.server.rule.RulesBaseTask.executeRules(RulesBaseTask.java:57)
         at com.sapienter.jbilling.server.item.tasks.RulesPricingTask2.getPrice(RulesPricingTask2.java:81)
         at com.sapienter.jbilling.server.item.ItemBL.getPrice(ItemBL.java:357)
    [...many not so interesting lines...]
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
         at java.lang.Thread.run(Thread.java:619)
     Caused by: java.io.StreamCorruptedException: invalid stream header: 3C3F786D
         at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:783)
         at java.io.ObjectInputStream.<init>(ObjectInputStream.java:280)
         at org.drools.common.DroolsObjectInputStream.<init>(DroolsObjectInputStream.java:55)
         at org.drools.common.DroolsObjectInputStream.<init>(DroolsObjectInputStream.java:49)
         at org.drools.util.DroolsStreamUtils.streamIn(DroolsStreamUtils.java:189)
         at org.drools.util.DroolsStreamUtils.streamIn(DroolsStreamUtils.java:158)
         at org.drools.agent.impl.KnowledgeAgentImpl.rebuildResources(KnowledgeAgentImpl.java:408)
         ... 88 more
    

    因为所有的代码都来自一个库,我想问题不在代码中,而是在我的项目设置/JAR的使用/规则的使用/任何东西中。这种例外的典型原因是什么?我应该寻找什么来找出异常的原因?有人有办法找出问题所在吗?

    更新: 有趣的是…不管怎样,我的申请似乎还是有效的。看起来它可以从错误中恢复。那么,也许是我的项目库中的一个bug?每次启动时都会记录错误,这不太好,但似乎并不重要。六羟甲基三聚氰胺六甲醚。。。

    1 回复  |  直到 10 年前
        1
  •  18
  •   bluish dmajkic    10 年前

    将XML文件作为 ObjectInputStream ,但此数据以前应通过 ObjectOutputStream .