二开案例.服务插件.事件.EndOperationTransaction

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

二开案例.服务插件.事件.EndOperationTransaction

【事件名称】

EndOperationTransaction

调用操作事务后事件(事务内)



【事件参数】

EndOperationTransaction

DataEntitys:本次事务处理的实体



【触发时机】

App层触发。

通常在校验通过后,在事务启动后触发,在BeginOperationTransaction事件之后触发,在事务结束前触发,在AfterExecuteOperationTransaction事件之前触发。



【功能说明】

此事件受事务保护。

操作的内部事务结束前,会触发此事件。

在此事件中访问的数据库表,在操作事务结束前会被锁定,需特别留意表的访问顺序,避免死锁。

此事件中的代码块不宜执行时间太长,大事务处理超时,轻则造成本次操作失败,重则造成整个系统卡顿奔溃。

整个服务插件事件中,只有BeginOperationTransaction事件和EndOperationTransaction事件受事务保护,且EndOperationTransaction事件执行完后,再无插件事件可干预操作事务。

此时的数据包已经提交到数据库,再去修改数据包并不会对数据库中的数据产生影响,通常在此事件中处理一些需要事务保护的数据库操作。



【注意事项】

<1>如果操作失败,事务回滚,那么此事件中的所有数据库操作都会被回滚。

<2>不要在此事件中做数据库的DDL操作(例如:创建表或视图,修改字段类型,创建索引等),容易造成事务阻塞和死锁,ORACLE账套下还会造成事务隐性提交,最终造成操作失败。



【应用场景】

<1>抛异常中断操作。

<2>数据校验。

<3>输出交互异常。

<4>数据更新。

<5>数据同步。

<6>数据删除。

<7>缓存清理。

<8>日志跟踪。



【代码模板】

using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Util;
using System.ComponentModel;
/// <summary>
/// 【服务插件】EndOperationTransaction
/// </summary>
[Description("【服务插件】EndOperationTransaction"), HotUpdate]
public class EndOperationTransactionOperationServicePlugIn : AbstractOperationServicePlugIn
{
    public override void EndOperationTransaction(EndOperationTransactionArgs e)
    {
        base.EndOperationTransaction(e);
        // TODO
    }
}



【应用案例】

【二开案例.服务插件.EndOperationTransaction】https://vip.kingdee.com/article/386177932420650496

【二开案例.服务插件.操作事务失败回滚后增加例外处理】https://vip.kingdee.com/article/310705363950004480

【二开案例.服务插件.分组数据记录创建时间修改时间】https://vip.kingdee.com/article/381461515117041664

---------------------------------------------------------------------------------------------------------













【二开案例.服务插件.全事件】https://vip.kingdee.com/article/385123929595391744

【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696

二开案例.服务插件.事件.EndOperationTransaction

【事件名称】EndOperationTransaction调用操作事务后事件(事务内)【事件参数】EndOperationTransactionDataEntitys:本次事务处理的实体...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息