UFLO流程变量类型问题

 
        StartProcessInfo startProcessInfo = new StartProcessInfo();
startProcessInfo.setPromoter(promoter);
startProcessInfo.setBusinessId(businessId);
startProcessInfo.setCompleteStartTask(true);// true:流程开启后自动流入下一节点,不停留在开始节点

Map<String, Object> variables = new HashMap<String, Object>();
variables.put("abstractUfloExtend", abstractUfloExtend);
variables.put("processName", processName);
startProcessInfo.setVariables(variables);
上述流程开启数据组装中,我将一个对象AbstractUfloExtend放入,结果在processClient.startProcessByName()时,后台抛错
[ERROR] com.bstek.dorado.view.resolver.ViewServiceResolver.execute(ViewServiceResolver.java:268):java.lang.Exception: 后台操作出错:Variable value [AbstractUfloExtend] must implement the java.io.Serializable interface
java.lang.Exception: 后台操作出错:Variable value [AbstractUfloExtend] must implement the java.io.Serializable interface
请问这种错误如何处理呢?
已邀请:

Jacky - 规则

赞同来自: hydsxsy

获取在流程模版设计器定义的一些元数据信息。

hydsxsy

赞同来自:

对AbstractUfloExtend implements Serializable进行调整,重启项目后可以正常存入.
但是问题又来了,我如何在ProcessInstance中获得之前存入的对象?
processInstance.getMetadata("abstractUfloExtend");这个貌似不可以

Jacky - 规则

赞同来自:

采用ProcessService中的下面方法获取:
/**
     * 获取指定流程实例上的指定key的流程变量的值
     * @param key 流程变量的key
     * @param processInstance 流程实例对象
     * @return 流程变量值
     */
    Object getProcessVariable(String key,ProcessInstance processInstance);
 
具体见:http://wiki.bsdn.org/pages/vie ... 40459

hydsxsy

赞同来自:

嗯,谢谢,我刚刚找到了,经过测试,可以正常获取,那么能麻烦问下,processInstance.getMetadata()这个方法是做什么用的呢?

Jacky - 规则

赞同来自:

已经说过了

要回复问题请先登录注册