mac-flow - 进阶
持久化
当一笔交易开始时,我们通常希望登记流水,并在交易成功完成后更新流水中的交易状态。甚至希望记录交易当时的请求和响应数据。当交易失败需要冲正时,我们还需要将此前保存的数据读取出来,作为相应的反交易的参数。如果让应用自己去做,就难以与流程引擎进行整合,两者存在不一致的可能。比如:流程执行失败,而应用的相应的参数和状态更新代码没能得到执行时。
因此mac-flow提供了流程持久化的接口simpleFlowPerisiter。当流程被创建、发生状态变更时,如:执行完成、失败,会将流程数据和状态写入存储。
此外,还提供流程的查询、流程数据的读取的接口,以备相应的监控需求使用。
* 保存失败则抛出异常 * * @param o * @return */ boolean save(SimpleFlow o); /** * 未找到数据时返回null * * @param id * @return */ SimpleFlow load(String id); /** * 未执行保存动作时返回false
* 保存失败则抛出异常 * * @param o * @return */ boolean update(SimpleFlow o); /** * 1、查询超时未冲正的正交易(无论是否批量冲正的情况)
* 2、查询状态为失败且未冲正的正交易(只能是批量冲正的情况)
* 3、查询冲正失败但未达到冲正次数上限的正交易 * * @param revMax1 * 情形1记录查询上限 * @param revMax2 * 情形2记录查询上限 * @param revMax3 * 情形3记录查询上限 * @return */ List
自定义生成器
复制 /mac-flow-editor/www/flow/gen/mac/xml.js到 /mac-flow-editor/www/flow/gen/xxx/xml.js
再修改 mac-flow-editor/www/flow/edit.htm,引用新的xml.js即可