解释 EJB 事务属性的示例或用例
对 EJB 事务属性(和注释)有一些很好的解释,例如 OpenEJB。
但有时,当我试图与一个没有使用过许多交易资源的人一起报道这个问题时,我看到他们的眼睛开始眯起。
所以我的问题 - 你会如何向你的祖母解释EJB事务属性?
- 必填
- 需求新
- 命令的
- 不支持
- 支持
- 从不
我认为一个人为的例子,类比或一个简洁的现实世界用例会有所帮助。
对 EJB 事务属性(和注释)有一些很好的解释,例如 OpenEJB。
但有时,当我试图与一个没有使用过许多交易资源的人一起报道这个问题时,我看到他们的眼睛开始眯起。
所以我的问题 - 你会如何向你的祖母解释EJB事务属性?
我认为一个人为的例子,类比或一个简洁的现实世界用例会有所帮助。
您可以从协作的角度来考虑它们。假设你是一名厨师,你有十几个烤箱可以使用。你需要烤一些蛋糕。对于此示例,您是被调用的方法,烤箱是事务,您的老板是调用方。
希望有所帮助。
我认为从容器与 EJB 方法调用方作为真正监视器的交互的角度来考虑这一点是有意义的......所以我想在各种不同的场景中使用保镖的比喻。
有关事务属性的良好描述/概述,请参阅此页面。
必填项 (必填@TransactionAttribute)
夜总会
出现在俱乐部,需要门票才能进入。如果你没有,它将在门口(购买?)给你。
交易就是门票。
容器是保镖。
需要新的(REQUIRES_NEW @TransactionAttribute)
喜剧俱乐部,至少喝1杯,不能重新进入
出现在俱乐部,没有外面的食物/饮料,你必须把他们留在门口。要进入,您必须在每次离开并重新进入时至少购买1杯饮料。
交易就是饮料。
容器是保镖。
暂停交易就是在门口离开。
支持(支持@TransactionAttribute)
家庭聚会
参加派对,允许饮酒。如果您有自己的酒精,我们会让你进来,如果你不这样做,我们也会让你进来。
交易是酒精。
容器是主机。
强制性(强制性@TransactionAttribute)
仅限邀请方
出现在派对上,需要邀请才能进入:如果你没有邀请并试图进入,保镖会打电话给当局。
交易就是邀请。
容器是主机。
抛出异常是调用当局。
不支持(NOT_SUPPORTED @TransactionAttribute)
音乐会,禁止使用相机。
出现在音乐会上,禁止使用相机。你可以把它留在门口,当你离开时把它捡起来。
交易是相机。
容器是门卫。
暂停交易就是在门口离开。
从不(从不@TransactionAttribute)
高中舞蹈
出现在舞会上,禁止饮酒。如果你试图进入它并被抓住,陪同人员会打电话给当局。
交易是酒精。
容器是伴侣。抛出异常是调用当局。