@nanic23, It seems that when trying to complete the work item, internally Drools Flow is using JPA persistence module to find ( retrieve ) a work item to be completed from a WorkItemInfo table.
Interestingly enough, if you look at the "getWorkItem" method of the "org.drools.persistence.processinstance.WorkItemInfo", it passes a NULL for a RuleBase while setting up a context: public WorkItem getWorkItem() { if ( workItem == null ) { try { ByteArrayInputStream bais = new ByteArrayInputStream( workItemByteArray ); MarshallerReaderContext context = new MarshallerReaderContext( bais, null, // THIS IS a RULEBASE <<<<<<<<<<<<< null, null ); workItem = InputMarshaller.readWorkItem( context ); And right after that, when trying to set parameters on the work item, it uses that RuleBase in MarshallerReaderContext: protected Class< ? > resolveClass(ObjectStreamClass desc) throws IOException, ClassNotFoundException { String name = desc.getName(); try { return Class.forName(name, false, this.ruleBase.getRootClassLoader()); // HERE IS WHERE THE NULL POINTER EXCEPTION OCCURS <<<<<<<<<<<<<<<<<<<<<<< since the RuleBase is NULL } catch (ClassNotFoundException ex) { return super.resolveClass( desc ); } } I am not sure why it is not passing a RuleBase in case of "JPAWorkItemManager.completeWorkItem", but that is how it behaves. I think Kris would be a good guy to explain the reason / the approach that should be taken. /Anatoly -- View this message in context: http://n3.nabble.com/Resuming-Flow-NPE-when-completing-a-work-item-tp716847p717055.html Sent from the Drools - User mailing list archive at Nabble.com. _______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users