muugua 发表于 2017-2-4 10:26:18

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&amp;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&amp;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]
查看完整版本: spring+jotm 多数据源事务管理(三)JNDI+Tomcat