EAS里如何在大事务里面如何嵌套小事务

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

EAS里如何在大事务里面如何嵌套小事务

项目里遇到一个问题,在自动后台事务同步数据过程中,生成多张凭证的时候,如果一张出错了,导致后面所有的凭证都无法生成,这是不符合预期的,我们希望的是一个凭证生成的失败并不影响后面的凭证生成,这里就需要用到eas中的事务属性,我们可以新建一个方法,包装生成单个凭证的过程,在Facade中建立方法的时候,定义方法的事务属性为RequiresNews


image.webp

然后再后台事务里通过下面代码调用

1
BillTimerFacadeFactory.getLocalInstance(ctx).autoGenerateBizVoucherOne(billId);  

 同时方法的实现需要在BillTimerFacadeControllerBeanEx里通过 _autoGenerateBizVoucherOne(String billId)方法去实现单个凭证生成的过程

image.webp


需要注意的是,这里只需要catch异常,而不抛出异常,抛出异常的话,异常就会被大事务捕获,而造成整个大事务停止,

另外,在测试过程中发现一个问题,即使把生成单个凭证的代码copy到大事务中,不抛出异常,大事务也会捕获,造成

后续凭证生成不了


EAS里如何在大事务里面如何嵌套小事务

项目里遇到一个问题,在自动后台事务同步数据过程中,生成多张凭证的时候,如果一张出错了,导致后面所有的凭证都无法生成,这是不符合预期...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息