工作流模式_取消模式(C7)

2024-04-09 17:38
文章标签 模式 工作 取消 c7

本文主要是介绍工作流模式_取消模式(C7),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这两个模式的共同点在于:模式所涉及的流程在运行时disables一个活动或者整个流程,包括:
 [list]
[*]Cancel activity(活动取消模式)
[*] Cancel case(实例取消模式)


[color=red][b][/list]WP_19、Cancel activity(活动取消模式)[/b][/color]
描述:在一个流程实例中,对某个特定的活动实例进行取消处理。这里是对特定的活动处理。
TW引擎作如下处理:
1、 活动实例状态变迁为取消态,对当前活动作事务回滚。
2、 判断当前被取消的活动是否处于“关键路径”的位置上,如果不是,处理到这里截止;如果是,则需要执行3,4步的步骤。
3、 依次回退前驱活动的状态,并作相应的业务补偿
4、 对流程实例状态作取消态处理


[img]http://dl.iteye.com/upload/attachment/148076/a046d4bd-97b5-30b8-aafb-39b6e0085e26.jpg[/img]
图wp19:活动取消模式

[flash=500,400]http://www.workflowpatterns.com/patterns/control/images/cp19_flash.swf[/flash]
图wp19:活动取消模式(flash)


[b][color=red]WP_20、Cancel case(实例取消模式)[/color][/b]
描述:在一个流程实例中,取消一个流程实例,这里是针对流程处理
TW引擎作如下处理:
1、 找到该流程实例中所有处于激活态和运行态的活动
2、 对这些活动进行设置取消态,并作事务回滚
3、 回朔这些前驱活动,依次作业务补偿
4、 对流程实例状态作取消态处理。



[img]http://dl.iteye.com/upload/attachment/148078/20f10488-6c96-3bf6-9b75-1a96270cc7a8.jpg[/img]
图wp20:(流程)实例模式

[flash=500,400]http://www.workflowpatterns.com/patterns/control/images/cp20_flash.swf[/flash]
图wp20:(流程)实例模式(flash)


自此,经典的20个工作流模式介绍完毕。


后续工作流模式的说明会继续讲解。敬请期待。

这篇关于工作流模式_取消模式(C7)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/888809

相关文章

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

Python中的filter() 函数的工作原理及应用技巧

《Python中的filter()函数的工作原理及应用技巧》Python的filter()函数用于筛选序列元素,返回迭代器,适合函数式编程,相比列表推导式,内存更优,尤其适用于大数据集,结合lamb... 目录前言一、基本概念基本语法二、使用方式1. 使用 lambda 函数2. 使用普通函数3. 使用 N

C#和Unity中的中介者模式使用方式

《C#和Unity中的中介者模式使用方式》中介者模式通过中介者封装对象交互,降低耦合度,集中控制逻辑,适用于复杂系统组件交互场景,C#中可用事件、委托或MediatR实现,提升可维护性与灵活性... 目录C#中的中介者模式详解一、中介者模式的基本概念1. 定义2. 组成要素3. 模式结构二、中介者模式的特点

setsid 命令工作原理和使用案例介绍

《setsid命令工作原理和使用案例介绍》setsid命令在Linux中创建独立会话,使进程脱离终端运行,适用于守护进程和后台任务,通过重定向输出和确保权限,可有效管理长时间运行的进程,本文给大家介... 目录setsid 命令介绍和使用案例基本介绍基本语法主要特点命令参数使用案例1. 在后台运行命令2.

Java中的xxl-job调度器线程池工作机制

《Java中的xxl-job调度器线程池工作机制》xxl-job通过快慢线程池分离短时与长时任务,动态降级超时任务至慢池,结合异步触发和资源隔离机制,提升高频调度的性能与稳定性,支撑高并发场景下的可靠... 目录⚙️ 一、调度器线程池的核心设计 二、线程池的工作流程 三、线程池配置参数与优化 四、总结:线程

Linux线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.

Java设计模式---迭代器模式(Iterator)解读

《Java设计模式---迭代器模式(Iterator)解读》:本文主要介绍Java设计模式---迭代器模式(Iterator),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录1、迭代器(Iterator)1.1、结构1.2、常用方法1.3、本质1、解耦集合与遍历逻辑2、统一

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

SpringBoot集成LiteFlow工作流引擎的完整指南

《SpringBoot集成LiteFlow工作流引擎的完整指南》LiteFlow作为一款国产轻量级规则引擎/流程引擎,以其零学习成本、高可扩展性和极致性能成为微服务架构下的理想选择,本文将详细讲解Sp... 目录一、LiteFlow核心优势二、SpringBoot集成实战三、高级特性应用1. 异步并行执行2

Spring @Scheduled注解及工作原理

《Spring@Scheduled注解及工作原理》Spring的@Scheduled注解用于标记定时任务,无需额外库,需配置@EnableScheduling,设置fixedRate、fixedDe... 目录1.@Scheduled注解定义2.配置 @Scheduled2.1 开启定时任务支持2.2 创建