继承的事务

包可以使用执行包任务运行另一个包。 子包也就是执行包任务所运行的包,它可以创建自己的包事务,也可以继承父包事务。

如果同时满足下面这两个条件,则子包会继承父包事务:

  • 该包由执行包任务调用。

  • 调用该包的执行包任务同时还联接父包事务。

子包中的容器和任务无法联接父包事务,除非子包本身联接该事务。

在下面的关系图中,三个包都使用事务。 每个包包含多项任务。 为了强调事务的行为,只显示了执行包任务。 包 A 运行包 B 和包 C。而包 B 运行包 D 和包 E,包 C 运行包 F。

包和任务具有下列事务属性:

  • 对于包 A 和包 C,TransactionOption 设置为 Required

  • 对于包 B 和包 D 以及任务执行包 B、执行包 D 和执行包 F,TransactionOption 设置为 Supported

  • 对于包 E 以及任务执行包 C 和执行包 E,TransactionOption 设置为 NotSupported

继承的事务流

只有包 B、包 D 和包 F 可以从它们的父包继承事务。

包 B 和包 D 继承包 A 启动的事务。

包 F 继承包 C 启动的事务。

包 A 和包 C 控制它们自己的事务。

包 E 不使用事务。