BTM事务配置
请参考原贴:http://thinkdifferent.iteye.com/blog/1450433
Tomcat6上配置BTM
博客分类: practice
tomcatjava
)去http://docs.codehaus.org/display/BTM/Home上下载BTMzip包。
)解压缩包,并将如下几个jar包拷贝tomcat6的lib下:btm-2.1..jar,btm-tomcat55-lifecycle-2.1..jar,geronimo-jta_1.1_spec-1.1..jar,slf4j-api-1.6..jar,slf4j-jdk14-1.6..jar。
)拷贝对应数据的jdbc驱动包到tomcat6的lib下,则这边采用oracle11g作为后端测试的数据库,所以拷贝oracle jdk6. jdbc包ojdbc6.jar到lib下。
)进入tomcat6的bin目录下,编辑startup.bat,在
Java代码 收藏代码
set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"
下增加一行
Java代码 收藏代码
set "CATALINA_OPTS=-Dbtm.root=%CATALINA_HOME% -Dbitronix.tm.configuration=%CATALINA_HOME%\conf\btm-config.properties"
后,进行保存。
)进入tomcat6的conf目录,创建文件:btm-config.properties并填入内容:
Java代码 收藏代码
bitronix.tm.serverId=spring-btm
bitronix.tm.journal.disk.logPart1Filename=${btm.root}/work/btm1.tlog
bitronix.tm.journal.disk.logPart2Filename=${btm.root}/work/btm2.tlog
bitronix.tm.resource.configuration=${btm.root}/conf/resources.properties
;
在conf目录下创建定义数据源的properties文件:resources.properties。在其中写入:
Java代码 收藏代码
resource.ds1.className=oracle.jdbc.xa.client.OracleXADataSource
resource.ds1.uniqueName=jdbc/oracle
resource.ds1.minPoolSize=
resource.ds1.maxPoolSize=
resource.ds1.allowLocalTransactions=true
#resource.ds1.driverProperties.driverClassName=oracle.jdbc.driver.OracleDriver
resource.ds1.driverProperties.URL=jdbc:oracle:thin:@localhost::orcl
resource.ds1.driverProperties.user=scott
resource.ds1.driverProperties.password=Pass1234
。绑定的JNDI名称为:java:comp/env/jdbc/oracle。
)进入tomcat6的conf文件,编辑server.xml,在
Java代码 收藏代码
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
下增加一行:
Java代码 收藏代码
<Listener className="bitronix.tm.integration.tomcat55.BTMLifecycleListener" />
用于监控BTM的生命周期(在tomcat启动或者关闭时);在同一目录下,编辑context.xml文件,在
Java代码 收藏代码
<WatchedResource>WEB-INF/web.xml</WatchedResource>
下增加一行:
Java代码 收藏代码
<Transaction factory="bitronix.tm.BitronixUserTransactionObjectFactory" />
配置UserTransaction,对应的jndi名称为:java:comp/UserTransaction。在增加一行对上面配置的数据源的引用:
Java代码 收藏代码
<Resource name="jdbc/oracle" auth="Container" type="javax.sql.DataSource"
factory="bitronix.tm.resource.ResourceObjectFactory" uniqueName="jdbc/oracle" />
在配置BTM的时候,发现配置了BTM管理的的数据源后,发现在Eclipse中通过tomcat的plugin来启动tomcat时,找不到配置的数据源,但在增加如上一行配置后,就能够找到了。
最后,你就可以在项目中使用如上配置的数据源及BTM的事务管理器了。
BTM事务配置的更多相关文章
- Spring事务配置的五种方式(转载)
Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分. DataSo ...
- Spring事务配置的五种方式
Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分. DataSo ...
- 【荐】Spring事务配置的五种方式
Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分. DataSo ...
- spring事务配置详解
一.前言 好几天没有在对spring进行学习了,由于这几天在赶项目,没有什么时间闲下来继续学习,导致spring核心架构详解没有继续下去,在接下来的时间里面,会继续对spring的核心架构在继续进行学 ...
- Spring MVC 事务配置
Spring MVC事务配置 要了解事务配置的所有方法,请看一下<Spring事务配置的5种方法> 本文介绍两种配置方法: 一. XML,使用tx标签配置拦截器实现事务 一. ...
- Spring管理 hibernate 事务配置的五种方式
Spring配置文件中关于事务配置总是由三个组成部分,DataSource.TransactionManager和代理机制这三部分,无论是那种配置方法,一般变化的只是代理机制这块! 首先我创建了两个类 ...
- Sping中的事务配置
关于Spring的事务配置,主要的配置文件如下(使用了C3P0连接池): <?xml version="1.0" encoding="UTF-8"?> ...
- Spring事务配置
Spring中事务的配置学习: 1.心法 Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一 ...
- Spring事务配置的五种方式 -- 越往后需要Spring版本越高
第五种 基本零配置 个人感觉第四种也可以 Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式, ...
随机推荐
- HDU1698 线段树入门之区间修改/查询(lazy标记法)
Just a Hook Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- axis2 webservice jar包使用情况(转)
原文地址:axis2 webservice jar包使用情况 今天使用axis2webservice,整理了下jar包,方便以后时候. axis2 webservice 服务端jar包: --> ...
- API To Import Negotiations(转)
原文地址 API To Import Negotiations
- epoll 模型
body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...
- java中break,continue,标签实现goto效果(编程思想)
goto 编程语言中一开始就有goto关键词了.事实上,goto起源于汇编语言的程序控制:“若条件A成立,则调到这里:否则跳到那里”. goto语句时在源码级别上的跳转,这导致了其不好的名誉.于是go ...
- PostgreSQL psql中如何查看快捷功能的对应函数
在psql中,我们可以通过一系列的的快捷命令查看数据库元素,如:\d 查看当前搜索路径下的表,那么内部用到的SQL语句是什么呢,可以通过命令来设置是否打印出来: apple=# \set ECHO_H ...
- DataReader使用
一.DataReader含义 DataReader相比于DataSet,DataReader是一个抽象类,所以不能用DataReader DR = new DataReader(),来构造函数创建对象 ...
- VScode+Flutter 开发继续踩坑
运行慢解决方法1:修改build.gradle,注释掉jcenter(),google().使用阿里的镜像.原因是jcenter google库无法访问到导致的问题.虽然我有万能的爬墙工具,开启全局代 ...
- Luogu2435 染色【状压qwq】【轮廓线DP】
LINK 题目大意 有一个 n 行 m 列的格点图,你需要给每个点上染上 k 种颜色中的一种,要求没有两个相邻点颜色相同.给定第一行与最后一行的染色,试求总染色方案数. 思路 暴力预处理状态暴力转移可 ...
- Java与WCF交互(一):Java客户端调用WCF服务 【转】
原文:http://www.cnblogs.com/downmoon/archive/2010/08/24/1807161.html 最近开始了解WCF,写了个最简单的Helloworld,想通过ja ...