2010-10-01 11 views
6

I (कोशिश करने के लिए) मेरे मूल्य निर्धारण नियमों को संसाधित करने के लिए 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 

मुझे लगता है कि सभी कोड एक पुस्तकालय से है के रूप में समस्या कोड में नहीं है, लेकिन अपने प्रोजेक्ट सेटअप/के जार/उपयोग के उपयोग में नियमों/जो कुछ भी। इस अपवाद के लिए सामान्य कारण क्या हैं? अपवाद के कारण को ढूंढने के लिए मुझे क्या देखना चाहिए? किसी को समस्या को दूर करने की रणनीति है?

अद्यतन: दिलचस्प ... मेरा आवेदन वैसे भी काम करता प्रतीत होता है। ऐसा लगता है कि यह त्रुटि से ठीक हो जाता है। तो, शायद मेरी परियोजना की पुस्तकालय में एक बग? प्रत्येक स्टार्टअप में लॉग इन त्रुटि को देखना अच्छा नहीं है, लेकिन यह महत्वपूर्ण नहीं लगता है। हमम ...

उत्तर

17

आप एक XML फ़ाइल को ObjectInputStream के रूप में पास कर रहे हैं, लेकिन यह डेटा पहले ObjectOutputStream के माध्यम से क्रमबद्ध किया जाना चाहिए।

+5

यह सही है 3C3F786D bestsss

+0

इससे मुझे एक बहुत ही अलग समस्या के साथ मदद मिली ... धन्यवाद! –

+0

यदि मैं ऑब्जेक्ट इनपुट स्ट्रीम में पारित इनपुट स्ट्रीम को प्रोजेक्ट के संसाधन फ़ोल्डर में किसी संसाधन से बनाया गया है तो मैं कैसे कार्य करूं? उदाहरण: इनपुटस्ट्रीम = this.getClass()। GetResourceAsStream (pathToResource); –

संबंधित मुद्दे