jBPM源码分析(1)
来源:互联网 发布:周公解梦是真的吗 知乎 编辑:程序博客网 时间:2024/04/30 19:46
jBPM中有三处我认为不妥的地方 :
1. 在identity模块中,org.jbpm.identity.assignment.ExpressionAssignmentHandler.java的87行。如果表达式结果为Group时,应用pull分派模式,此时将Group中的每个成员加入到流程实例的pooledActors。但原来的代码将entity的name加入pooledActors显然不行,更正如下:
else if (entity instanceof Group)
{
// put the group in the pool
Set users = ((Group) entity).getUsers();
String[] actorIds = new String[users.size()];
int i = 0;
Iterator iter = users.iterator();
while (iter.hasNext())
{
actorIds[i] = ((User) iter.next()).getName();
i++;
}
assignable.setPooledActors(actorIds);
}
2. 子流程调用的问题。在org.jbpm.graph.def.node.ProcessState.java中,对流程定义进行解析时(read()函数中),若读取到已指定的子流程名和版本号,原来代码中在此处读取subProcessDefinition,进行保存。这就要求所有子流程定义必须在父流程定义之前进行部署,这样不太合理。删掉loadProcessDefinition()的相关代码,在ProcessState的execute()函数中创建流程实例之前读取流程定义。创建完流程实例后,要确保该子流程实例能启动并执行。
- jBPM源码分析(1)
- JBPM源码分析(-)-----JbpmConfigurtion
- JBPM源码分析(二)-----JbpmContext
- jbpm源码(ExecutionServiceImpl)分析
- JBPM源码分析(二)---acceptToken函数
- JBPM源码分析(三)---ExecutionServiceImpl类
- 通过jbpm源码分析jbpm引擎内核工作原理
- 【转】通过jbpm源码分析jbpm引擎内核工作原理
- 工作流-JBPM(1)
- JBPM源码-第一天
- JBPM学习(1)----JBPM环境的搭建
- JBPM学习(1)----概述
- jBPM开发入门(1)
- JBPM引擎设计(1)
- JBPM访问控制分析
- JBPM数据库分析
- JBPM数据库分析
- JBPM源码分析(一)---数据库表主键ID的产生机制
- 如何修改网卡地址?
- 关于资源图片文件与DLL到Imagelist
- oracle服务不能启动的两个常见原因
- C#中如何读写INI文件
- 跟我一起写 Makefile
- jBPM源码分析(1)
- 禁止表单里重复提交
- 通过ResourceBundle来获得系统属性,帮助系统转移
- 快乐生活,努力赚钱
- 不是技术高手
- HTML元素的disabled属性标记引发的问题
- [DataGrid]DataBinder.Eval()的两种用法
- 如何实现像商城网站上的商业行业分类的效果
- 使用ASP.Net Forms模式实现WebService身份验证