天天看點

Atomikos資料源配置的三種方法

本文轉自:http://www.micmiu.com/j2ee/jta/atomikos-datasource-cfg/

Atomikos資料源配置方法有三種分别:

  1. SimpleDataSourceBean
  2. AtomikosDataSourceBean
  3. AtomikosNonXADataSourceBean

下面的示範以Orcale資料庫為例子

  • 資料源1:192.168.8.1   sid:orcl 使用者名/密碼:micmiu/micmiu.com
  • 資料源2:192.168.8.2   sid:orcl 使用者名/密碼:ctosun/ctosun.com

[一]、SimpleDataSourceBean

這個是最簡單地資料源配置,需要配置XA驅動。

<!-- 資料源配置 simple 1 -->
<bean id="simpleDS1" class="com.atomikos.jdbc.SimpleDataSourceBean"
	init-method="init" destroy-method="close">
	<property name="uniqueResourceName">
		<!-- 該值要唯一 -->
		<value>simpleDS1</value>
	</property>
	<property name="xaDataSourceClassName">
		<value>oracle.jdbc.xa.client.OracleXADataSource</value>
	</property>
	<property name="xaDataSourceProperties">
		<value>URL=jdbc:oracle:thin:@192.168.8.1:1521:orcl;user=micmiu;password=micmiu.com
		</value>
	</property>
	<property name="exclusiveConnectionMode">
		<value>true</value>
	</property>
	<property name="connectionPoolSize">
		<value>3</value>
	</property>
	<property name="validatingQuery">
		<value>SELECT 1 from dual</value>
	</property>
</bean>
<!-- 資料源配置 simple 2 -->
<bean id="simpleDS2" class="com.atomikos.jdbc.SimpleDataSourceBean"
	init-method="init" destroy-method="close">
	<property name="uniqueResourceName">
		<value>simpleDS2</value>
	</property>
	<property name="xaDataSourceClassName">
		<value>oracle.jdbc.xa.client.OracleXADataSource</value>
	</property>
	<property name="xaDataSourceProperties">
		<value>URL=jdbc:oracle:thin:@192.168.8.2:1521:orcl;user=ctosun;password=ctosun.com
		</value>
	</property>
	<property name="exclusiveConnectionMode">
		<value>true</value>
	</property>
	<property name="connectionPoolSize">
		<value>3</value>
	</property>
	<property name="validatingQuery">
		<value>SELECT 1 from dual</value>
	</property>
</bean>      

[二]、AtomikosDataSourceBean

Atomikos實作的資料源,需要配置XA驅動,推薦此配置,可以配置連接配接池的資訊。

<!-- 資料源配置 Atomikos datasource 1 -->
<bean id="atomikosDS1"class="com.atomikos.jdbc.AtomikosDataSourceBean"
	init-method="init" destroy-method="close">
	<property name="uniqueResourceName">
		<!-- 該值要唯一 -->
		<value>atomikosDS1</value>
	</property>
	<property name="xaDataSourceClassName">
		<value>oracle.jdbc.xa.client.OracleXADataSource</value>
	</property>
	<property name="xaProperties">
		<props>
			<prop key="URL">jdbc:oracle:thin:@192.168.8.1:1521:orcl</prop>
			<prop key="user">micmiu</prop>
			<prop key="password">micmiu.com</prop>
		</props>
	</property>
	<property name="poolSize">
		<value>5</value>
	</property>
	<property name="maxPoolSize">
		<value>15</value>
	</property>
</bean>
<!-- 資料源配置 Atomikos datasource 2 -->
<bean id="atomikosDS2" class="com.atomikos.jdbc.AtomikosDataSourceBean"	
        init-method="init" destroy-method="close">
	<property name="uniqueResourceName">
		<!-- 該值要唯一 -->
		<value>atomikosDS2</value>
	</property>
	<property name="xaDataSourceClassName">
		<value>oracle.jdbc.xa.client.OracleXADataSource</value>
	</property>
	<property name="xaProperties">
		<props>
			<prop key="URL">jdbc:oracle:thin:@192.168.8.2:1521:orcl</prop>
			<prop key="user">ctosun</prop>
			<prop key="password">ctosun.com</prop>
		</props>
	</property>
	<property name="poolSize">
		<value>5</value>
	</property>
	<property name="maxPoolSize">
		<value>15</value>
	</property>
</bean>      

[三]、AtomikosNonXADataSourceBean

該資料源配置需要普通JDBC的驅動,可以配置連接配接池:

<!-- AtomikosNonXA datasource 1 需要普通jdbc驅動 -->
<bean id="atomikosNonXADS1" class="com.atomikos.jdbc.nonxa.AtomikosNonXADataSourceBean">
	<property name="uniqueResourceName">
		<value>atomikosNonXADS1</value>
	</property>
	<property name="driverClassName">
		<value>oracle.jdbc.driver.OracleDriver</value>
	</property>
	<property name="url">
		<value>jdbc:oracle:thin:@192.168.8.1:1521:orcl</value>
	</property>
	<property name="user">
		<value>micmiu</value>
	</property>
	<property name="password">
		<value>micmiu.com</value>
	</property>
	<property name="poolSize">
		<value>5</value>
	</property>
	<property name="borrowConnectionTimeout">
		<value>60</value>
	</property>
</bean>
<!-- AtomikosNonXA datasource 2 需要普通jdbc驅動 -->
<bean id="atomikosNonXADS2" class="com.atomikos.jdbc.nonxa.AtomikosNonXADataSourceBean">
	<property name="uniqueResourceName">
		<value>atomikosNonXADS2</value>
	</property>
	<property name="driverClassName">
		<value>oracle.jdbc.driver.OracleDriver</value>
	</property>
	<property name="url">
		<value>jdbc:oracle:thin:@192.168.8.2:1521:orcl</value>
	</property>
	<property name="user">
		<value>ctosun</value>
	</property>
	<property name="password">
		<value>ctosun.com</value>
	</property>
	<property name="poolSize">
		<value>5</value>
	</property>
	<property name="borrowConnectionTimeout">
		<value>60</value>
	</property>
</bean>      

本文介紹到此結束@Michael Sun.