java – “StreamCorruptedException:无效的流标题”的可能原因

前端之家收集整理的这篇文章主要介绍了java – “StreamCorruptedException:无效的流标题”的可能原因前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我(尝试)使用drools来处理我的定价规则.但是当我尝试执行规则时,抛出以下异常:
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 /使用规则/等等.这种例外的典型原因是什么?我应该寻找什么来找到异常的原因?有人有策略来查明问题吗?

更新:
有意思……我的申请似乎无论如何都有用.看起来它从错误中恢复过来.那么,也许是我项目库中的错误?不好看到每次启动时记录的错误,但似乎并不重要.嗯……

解决方法

您将XML文件作为ObjectInputStream传递,但此数据应先通过ObjectOutputStream进行序列化.

猜你在找的Java相关文章