分布式事务:
对于一个分布式事务(Distributed Transaction)来讲,事务的参与者分布于网络环境中的不同的节点。也就是说,我们可以将多个事务资源纳入到一个单一的事务之中,并且这些事务资源可以分布到不同的机器上。这些承载分布式资源的机器可能是出于同一个网络中,也可能处于不同的网络中。甚至说,某个事务资源本质上就是一个通过HTTP访问的单纯的Internet资源。
先简单的写个demo:
package transactionTest;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.sql.XAConnection;
import javax.transaction.xa.XAException;
import javax.transaction.xa.XAResource;
import javax.transaction.xa.Xid;
//import oracle.jdbc.xa.client.OracleXADataSource;
import com.mysql.jdbc.jdbc2.optional.MysqlXADataSource;
public class Mutil_DataSource_Test {
public static void main(String[] args){
Mutil_DataSource_Test mdt = new Mutil_DataSource_Test();
try {
mdt.test1();
} catch (Exception ex) {
System.out.println("除SQLException、XAException之外的异常: \n");
Logger.getLogger(Mutil_DataSource_Test.class.getName()).log(Level.SEVERE, null, ex);
}
}
class MyXid implements Xid{
int formatId;
byte globalTransactionId[];
byte branchQualifier[];
public MyXid(){
}
public MyXid(int formatId,byte[] globalTransactionId,byte[] branchQualifier){
this.formatId = formatId;
this