Three Phase-Commit is a non-blocking protocol. EJB supporting Three Phase Commit Protocol ? JDBC supporting Three Phase Commit Protocol ?
posted 14 years ago
The recommends support for two-phase commit, but it is not required. However, all major J2EE Servers do support two-phase commit. Three-phase commit is not mentioned in the J2EE Specification, nor do any Application Servers that I know of support it. BTW, just because three is greater two does not necessarily make 3PC better than 2PC. Sure, 3PC is non-blocking but at the cost of greater overhead. The 3PC protocol involves an additional round of message transmission to achieve non-blocking property. If 3PC is employed to eliminate the blocking problem, an extra round of message transmission further reduces the system's performance as compared to 2PC... and 2PC is slow enough for me.