标签 ‘ Transactors

讨喜的隔离可变性(十)使用Transactor

声明:本文是《Java虚拟机并发编程》的第五章,感谢华章出版社授权并发编程网站发布此文,禁止以任何形式转载此文。

Akka transactor或事务角色为我们提供了一种将多个角色的执行过程合并到一个事务中的方法。顾名思义,transactor可以将多个角色对于托管STM Ref对象的更改变成原子操作,即仅当外围事务提交成功之后,对于那些托管对象的变更才能生效,否则所有的变更都会被丢弃。

Transactor提供了三种处理消息的方法:

  • 默认情况下,Transactor会在其自己的事务中处理消息。
  • 实现normally()函数。该函数不属于任何事物,其主要功能是独立地处理我们所选择的消息。
  • 申请让消息被协调处理,即使其作为总控事务的一部分来执行。

总体而言,Transactor为我们提供了将其他角色链接到我们的协调事务里的弹性。此外,transactor还提供了前置和后置于事务的可选函数,以便于我们可以提前为事务做好准备或执行某些后置提交操作。
阅读全文

return top