marshalling - Exception: UTFDataFormat in processMarshaller -
i came across issue when upgrade drools , jbpm version below given specification, while try push task 1 process process "utfdataformat" exception found in readprocessinstance. quite confused use same. please check , advise me.
specifications:- jbpm: 5.4.0-final drools: 5.5.0-final
code:- workflowprocess workflowprocess = getworkflowprocess(kbase); bpmnroute baseroute = constructbpmnroute(workflowprocess); processinstanceinfo processinstanceinfo = processinstanceinfos.get(0); inputstream file = new bytearrayinputstream( processinstanceinfo.getprocessinstancebytearray() ); inputstream buffer = new bufferedinputstream( file ); internalrulebase rulebase = (internalrulebase) ((knowledgebaseimpl) kbase).rulebase; internalworkingmemory wm = (internalworkingmemory) rulebase.newstatefulsession(); ruleflowprocessinstancemarshaller processmarshaller; marshallerreadercontext context = new marshallerreadercontext(buffer, rulebase, null, null, protobufmarshaller.timer_readers, new environmentimpl()); context.wm = wm; processmarshaller = ruleflowprocessinstancemarshaller.instance; objectinputstream stream = context.stream; stream.readutf(); workflowprocessinstanceimpl processinstance = (workflowprocessinstanceimpl) processmarshaller.readprocessinstance(context); context.close(); exception:- java.io.utfdataformatexception 17:12:21,747 error [stderr] (http--10.0.5.53-8080-2) @ java.io.objectinputstream$blockdatainputstream.readutfspan(objectinputstream.java:3107) 17:12:21,747 error [stderr] (http--10.0.5.53-8080-2) @ java.io.objectinputstream$blockdatainputstream.readutfbody(objectinputstream.java:3051) 17:12:21,747 error [stderr] (http--10.0.5.53-8080-2) @ java.io.objectinputstream$blockdatainputstream.readutf(objectinputstream.java:2864) 17:12:21,748 error [stderr] (http--10.0.5.53-8080-2) @ java.io.objectinputstream.readutf(objectinputstream.java:1072) 17:12:21,748 error [stderr] (http--10.0.5.53-8080-2) @ org.jbpm.marshalling.impl.abstractprocessinstancemarshaller.readprocessinstance(abstractprocessinstancemarshaller.java:378)
i think these 2 lines in code:
objectinputstream stream = context.stream; stream.readutf();
interfere unmarshalling of saved object, being done in subsequent call readprocessinstance. thus, call readutf method fails. - omit these 2 lines , try again.
Comments
Post a Comment