云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

大带宽_单路服务器_企业级

小七 141 0

华为云_电商网站建设_限时特惠

aBPM/BPM流程启动的执行通常由aBPM框架自动完成,淘客小程序,或者由aBPM场景中的启动实现手动完成。在重载系统情况下,可能会产生异常,并出现副作用,其效果是围绕aBPM框架的其他自定义启动实现将捕获这些异常,并触发具有相同内容但具有不同aBPM进程/BPM的同一进程的第二次或多次启动进程实例ID或未启动任何进程。

在本文中,您将学习一种行之有效的解决方法,以防止一个唯一触发器标识符的aBPM/BPM进程的两次或多次启动,并学习防止在aBPM数据库表选择的帮助下检查是否未启动任何进程。

将使用一个具有唯一标识符的触发器从外部系统发送或在aBPM场景的开始状态内创建唯一标识符。此唯一标识符字段在方案定义/方案电子表格中定义,并将在aBPM流程的BO中作为属性进行设置和持久化。

在ExtBase之外,通常用于启动的命令行可以是:

,并包含ExtBase内的以下内容:

到防止具有相同内容的同一aBPM/BPM流程的双重/多重启动如果系统中仍存在aBPM流程,则在启动操作之前必须检查。为此,应该执行这样的SQL选择(名称:SQL\u READ\u BPM\u PROCESS\u ID\u BY\u CRITERIAS):

提示:上面的选择包含一个带有3个标识符的示例,如果您有更少或更多,淘客公众号系统,请根据您的要求调整SQL语句。

提示:字段字符串\u CV\u SEARCH是在Y\u ABPM\u进程内创建的,执行搜索的速度必须快于包含当前值或原始值的字段。字段字符串的内容总是大写的。这就是为什么下面的代码段有.toUpperCase()来设置值的原因。

启动实现应该用如下代码段来扩展:

启动操作执行后的检查与保证启动成功执行一次有关。如果不执行此检查,例如,云产品,可能会从系统中删除初始外部触发器,并且不存在针对此触发器消息的正在运行的BPM进程。

在第一次查看此解决方案时,如果BPM进程启动,则检查您的场景/狭义实现内部到场景实现可能有点令人不安是否成功。但是,大数据前景怎么样,如果在重负载情况下不检查这一点,可能会导致奇怪的行为或僵尸情况,因为启动了多个进程。在我的一个项目中,企业云服务器,我们在生产系统中产生了这样的效果,并使用了附加的安全层(在异常情况下,将触发器消息存储到JMS队列中,MessageDrivenBean再次尝试启动)围绕上述解决方法,我们很惊讶为什么系统中会出现一个触发器消息的双重或多重启动。