JTA(Java Transaction API) 认识:
- 在jta中,管理的是资源,所有XA资源。
- 相对localhost transation来说,他只有一个资源,如果让多个资源原子性的操作,就是它要做的事情。
- 为了让所有资源操作的原子行,所以它每一次操作都需要做一个prepare一下,然后再commit或者rollback.这就是two-phase-commit
- 当prepare成功,但在做commit过程中出现错误,将会抛出HeuristicMixedException错误,这下就烦了,需要各个资源的管理员根据当前的日志,然后经过协商做出一个决定,是否commit或者rollback,已达到所有资源的原子性。