jbpm4中moveto的源代码:
public class ExecutionImpl extends ScopeInstanceImpl implements ClientProcessInstance,
ActivityExecution, EventListenerExecution {
...
/** persistent activity reference */
protected String activityName;
...
public void moveTo(ActivityImpl destination) {
// move the execution to the destination
setActivity(destination);
transition = null;
}
...
public void setActivity(ActivityImpl activity) {
this.activity = activity;
if (activity!=null) {
this.activityName = activity.getName();
}
else {
this.activityName = null;
}
}
}
从源代码来看ExecutionImpl.只是把executionimpl的activityName重新赋值.
如果运行的moveto方法的环境是在事务环境内(如放在用户自定义的命令中或者整合ssh后在spring的事务拦截范围内),则对应的结果就是,jbpm4中的jbpm4_execution表的ACTIVITYNAME_字段设置成activityName.
如果运行的moveto方法的环境是不在事务环境内(如在自己写的TestCase中调用),则什么不发生,因为没有持久化.
现在设计流程定义如下:
开始->task1->task2->task3->end (参与者分别为task1:user1,task2:user2,task3:user3)
经过测试发现在事务环境内运行,当前流程实例的活动节点在task3时,获取executionIpml,调用executionIpml.moveto(),参数传入ActivityImpl,moveTo到task1.
我希望的结果是当前活动节点为task1,用户user1的taskService.findPersonalTasks("user1")能找到任务,但是事实是user1的代办列表找不到任务.而用户user3的taskService.findPersonalTasks("user1")能找到任务.
查看jbpm4的数据库,会发现,除了jbpm4中的jbpm4_execution表的ACTIVITYNAME_字段设置成task1,其他包括jbpm4_task和所有历史相关字段都没有改变.
分享到:
相关推荐
VTK 10 Managing Pipeline__ Execution.pdf VTK 10 Managing Pipeline__ Execution.pdf VTK 10 Managing Pipeline__ Execution.pdf
LabVIEW.2009.v9.0.Desktop.Execution.Trace.Toolkit.ISO-TBE-keygen
综上所述,`AOP_execution.png`可能是一张图,展示了如何在Java Spring AOP中使用切点表达式来定义方法拦截的规则。理解并正确使用切点表达式对于实现有效的AOP设计至关重要,它能够帮助我们更好地组织代码,分离...
Can Webplan Reconcile Planning and Execution.doc
Compilation in Query Execution 在数据库查询执行中,两种优化策略逐渐引起了人们的关注:向量化(Vectorization)和编译(Compilation)。这两种策略都旨在提高数据库查询的执行效率,但它们的实现机理和应用...
数字化转型战略的敏捷执行,通过设计、架构、确定优先级,首先商业成功
本项目“Detecting Windows NT/2K process execution”专注于此核心主题,旨在提供一套实用的方法和技术来跟踪和分析这些系统的进程行为。 一、进程执行的基础知识 1. 进程:在操作系统中,进程是程序的实例,它...
sap press doc 解压密码:abap_developer
Product Study Test Case Creation Testing Environment Setup Test Execution Closing
leifwright_blog_cmd_execution
knowledge_builder_code_execution
"Creating a Culture of Execution"的主题围绕着如何在组织内部建立一种执行力强、注重结果的文化。在这个过程中,领导者的角色至关重要。美国总统约翰·F·肯尼迪(John F. Kennedy)在对国会的演讲中提到的登月...
本文档《常用的测试方法和测试工具.pdf》聚焦于介绍在软件测试过程中常用的方法和工具。文档中虽然部分内容存在OCR扫描错误和缺失,但仍然可以识别出一些核心的测试技术和工具名称。 文档中提及了一些测试方法,...
我们打算采用符号执行技术,这是一种自1970年代以来就已确立并已在多个系统中证明其价值的方法。该基础设施包含以下组件: 1. **编译器**:接收原始APK作为输入,生成专为检查目的设计的内部中间表示(IR)。 2. *...
【RPA之家】提供的【A2019 - Python Script Execution】视频教程是关于RPA(Robotic Process Automation)技术中Python脚本执行的应用。RPA是一种自动化技术,它允许软件机器人模仿人类在应用程序中的交互,以实现...
In this talk, we would like to present ... By leveraging the well-established technique of symbolic execution, this project aims to harden Android programmers' toolkit with much advanced testing tools
"东信和平测试平台Execution v5.0"是一款在行业内具有较高知名度的自动化测试工具,专为运营商设计,用于执行脚本级别的测试任务。这款平台的强大之处在于它支持ECN加密脚本和JavaScript脚本,这使得测试人员能够...
在本文档"Improving Execution Performance on SPI Flash of NUC505"中,主要讨论了如何通过将关键代码和数据移动到SRAM中以提高基于32位NuMicro®系列微控制器(特别是NUC505系列)在SPI闪存上的执行性能。...