#什麼是JTAspring
JTA是Java的API,是個處理事務的。sql
事務必須保證用戶操做的原子性,一致性,隔離性,持久性。
事務處理方式有兩個,一個是本地事務還有一個是分佈式事務數據庫
#本地事務分佈式
首先本地事務只於資源管理器相結合。侷限性很大。ide
Connection conn = null; statement stat = null; try{ conn = getDataSource().getConnection(); conn.setAutoCommit(true); stat = conn.createStatement(); stat.execute("SQL語句"); conn.comit(); }catch(SQLException sqle){ try{ conn.rollback(); stat.close(); conn.close(); }catch(Exception ignore) }
#分佈式事務code
JTA與JSF共同爲分佈式提供事務處理。
首先分佈式事務,由事務管理器,資源管理器(遵循XA協議)還有應用程序組成。首先應用程序發送事務請求,事務管理器收到後詢問資源管理器
是否準備就緒。而後返回給應用程序準備就緒,而後應用程序開始事務。對象
獲取Transaction管理對象 鏈接數據庫,啓動事務 提交事務,當發生異常進行回滾 JTA分佈式事務接口,JTS是JTA的一種實現。spring事務裏面,可使用JTA等事務。感受挺厲害的,可選擇性高。