spring+jotm 多数据源事务管理(三)JNDI+Tomcat
spring+jotm 多数据源事务管理系列spring+jotm 多数据源事务管理(一)jdbc
spring+jotm 多数据源事务管理(二)hibernate
spring+jotm 多数据源事务管理(三)JNDI+Tomcat
首先需要将jotm相关jar包加入到tomcat中,如下:
o
jotm.jar
o
jotm_jrmp_stubs.jar
o
ow_carol.jar
o
jta.jar
o
jta-spec1_0_1.jar
o
jts1_0.jar
o
objectweb-datasource.jar
o
xapool.jar
o
howl.jar
o
commons-cli-1.0.jar
o
connector-1_5.jar
tomcat中配置context:
<Context docBase="D:\workspace\test\WebContent" path="/test"reloadable="true" >
<Resource name="jdbc/test1"
auth="Container"
factory="org.objectweb.jndi.DataSourceFactory"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=utf-8"
username="root" password="123456" maxActive="20" maxIdle="10" maxWait="10000"/>
<Resource name="jdbc/test2"
auth="Container"
factory="org.objectweb.jndi.DataSourceFactory"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test2?useUnicode=true&characterEncoding=utf-8"
username="root" password="123456" maxActive="20" maxIdle="10" maxWait="10000"/>
<Transaction factory="org.objectweb.jotm.UserTransactionFactory" jotm.timeout="60"/>
</Context>
spring配置文件中使用jndi的方式关联数据源:
<jee:jndi-lookup id="dataSource1" jndi-name="jdbc/test1" />
<jee:jndi-lookup id="dataSource2" jndi-name="jdbc/test2" />
<bean id="jotm" class="org.springframework.transaction.jta.JotmFactoryBean" />
<bean id="transactionManager"class="org.springframework.transaction.jta.JtaTransactionManager">
<property name="userTransaction" ref="jotm" />
</bean>
只需要将数据源换成jndi的方式即可,其它不变,
另外记得要在项目编译路径下添加前文中提到的carol.properties。
页:
[1]