10.6. Enlisting Synchronizations
默认情况下,Data Grid 通过 XAResource 将自身注册为第一类参与者。有些情况下,Data Grid 不需要在交易中参与,但只有其生命周期通知(准备完成):例如,Data Grid 被用作 Hibernate 中的第二级缓存。
网格允许通过同步进行 事务处理。若要启用它,只需使用 NON_XA 事务模式。
同步具有允许 TransactionManager 使用 1PC 优化 2PC 的优点,其中只有一个其他资源被使用该事务(最后一个资源提交优化)列出。例如Hibernate 第二级缓存:如果 Data Grid 将自身注册到 TransactionManager 作为 XAResource,则 TransactionManager 会在提交时看到两个 XAResource (缓存和数据库),且不会进行这个优化。需要在两个资源间协调,它需要将 tx 日志写入磁盘。另一方面,将 Data Grid 注册为 同步 使 TransactionManager 跳过将日志写入磁盘(性能改进)。