자바 분산 사무-spring+jta+atomikos

9428 단어 자바
Atomikos 는 두 가지 로 나 뉜 다.하 나 는 오픈 소스 의 Transaction Essentials 이 고 하 나 는 상업 적 인 ExtremeTransactions 이다.
       TransactionEssentials 의 주요 특징:JTA/XA 사무 관리-사무 관리 와 연결 풀 을 제공 할 때 서버 가 분포 식 사 무 를 지원 하지 않 아 도 됩 니 다(예 를 들 어 tomcat).TransactionEssentials 는 모든 자바 EE 응용 서버 에서 실 행 될 수 있 습 니 다.즉,어떠한 응용 서버 오픈 소스 에 도 의존 하지 않 습 니 다.TransactionEssentials 는 Apache 버 전 2 허 가 를 준수 하 는 오픈 소스 소프트웨어 로 JDBC/JMS-모든 XA 자원 을 지원 합 니 다.
        Atomikos 데이터 소스 설정 방법 은 세 가지 가 있 습 니 다.Simple DataSourceBean,Atomikos DataSourceBean,Atomikos NonXADataSourceBean 은 하 나 를 선택 할 수 있 습 니 다.단,atomikos 를 사용 할 때 c3p 0 과 같은 jta 를 지원 하지 않 는 연결 탱크 를 사용 할 수 없습니다.마찬가지 로 jotm 를 사용 하려 면 StandardXAPoolDataSource 데이터 원본 설정 을 사용 해 야 합 니 다.
SimpleDataSourceBean 은 기본 데이터베이스 연결 설정 을 표시 합 니 다.
AtomikosDataSourceBean 은 XA 데이터베이스 구동 류 를 사용 해 야 하 며 연결 탱크 를 설정 할 수 있 습 니 다(테스트 를 통 해 이 방법 을 추천 합 니 다).
Atomikos NonXADataSourceBean 은 일반 데이터베이스 구동 류 를 사용 해 야 하 며 연결 탱크 를 설정 할 수 있 습 니 다.
1.실험 환경:
spring my sql 5.1.51(버 전 5.0+필요)Atomikos Transactions Essentials-3.7.0(자세 한 홈 페이지 참여 가능:http://www.atomikos.com   ) 설명:1.테스트 한 데이터 베 이 스 는 분포 식 사 무 를 지원 해 야 하 며 JDBC 는 XA 연결 구동 을 지원 해 야 합 니 다.이번 테스트 에 사 용 된 mysql 5.1 은 업 무 를 지원 합 니 다.JDBC 드라이버 버 전:mysql-connector-java-5.1.7-bin.jar,XA 연결 에 대한 지원 포함:com.mysql.jdbc.jdbc 2.optional.MysqlXAConnection.2.첨부 파일 제공 AtomikosTransactions Essentials 3.7.0 lib 패키지 다운로드:AtomikosTransactions Essentials-3.7.0-lib.zip 공식 다운로드 주소:http://www.atomikos.com/Main/TransactionsEssentialsDownloadForm,먼저 등록 해 야 다운로드 할 수 있 습 니 다.
2.생 성 표:
CREATE DATABASE IF NOT EXISTS testdb_a        DEFAULT CHARACTER SET utf8;    

USE testdb_a;    

DROP TABLE IF EXISTS tab_a;    

CREATE TABLE tab_a (    
        id bigint(20) NOT NULL,    
        name varchar(60) DEFAULT NULL,    
        address varchar(120) DEFAULT NULL,    
        PRIMARY KEY (id)    
) ENGINE=InnoDB DEFAULT CHARSET=utf8;    


CREATE DATABASE IF NOT EXISTS testdb_b        DEFAULT CHARACTER SET utf8;    

USE testdb_b;    

DROP TABLE IF EXISTS tab_b;    

CREATE TABLE tab_b (    
        id bigint(20) NOT NULL,    
        name varchar(60) DEFAULT NULL,    
        address varchar(120) DEFAULT NULL,    
        PRIMARY KEY (id)    
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
설정 파일:
 
 
 

         
         
                 
                         
                                classpath:jdbc.properties 
                         
                 
         
         
         
                 
                        mysql/db_a 
                 
                 
                        com.mysql.jdbc.jdbc2.optional.MysqlXADataSource 
                 
                 
                        URL=${jdbc.url};user=${jdbc.username};password=${jdbc.password} 
                 
                 
                        true 
                 
                 
                        3 
                 
                 
                        SELECT 1 
                 
         
         
         
                 
                        mysql/db_b 
                 
                 
                        com.mysql.jdbc.jdbc2.optional.MysqlXADataSource 
                 
                 
                        URL=${jdbc2.url};user=${jdbc2.username};password=${jdbc2.password} 
                 
                 
                        true 
                 
                 
                        3 
                 
                 
                        SELECT 1 
                 
         

         
                 
         

         
                 
         
         
         
                 
                 
         


         
         
                 
                 
         
         
         
                 
                         
                         
                         
                         
                 
         

         
         
                 
                         
                 
                 
                        classpath:/sql-map-config_A.xml 
                 
         
         
         
                 
                         
                 
                 
                        classpath:/sql-map-config_B.xml 
                 
         
         
         
                 
         
         
         
                 
         

         
         
                 
         
         
                 
         

         
         
                 
                 
         

좋은 웹페이지 즐겨찾기