请参考原贴: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事务配置的更多相关文章

  1. Spring事务配置的五种方式(转载)

    Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分. DataSo ...

  2. Spring事务配置的五种方式

    Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分. DataSo ...

  3. 【荐】Spring事务配置的五种方式

    Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分. DataSo ...

  4. spring事务配置详解

    一.前言 好几天没有在对spring进行学习了,由于这几天在赶项目,没有什么时间闲下来继续学习,导致spring核心架构详解没有继续下去,在接下来的时间里面,会继续对spring的核心架构在继续进行学 ...

  5. Spring MVC 事务配置

    Spring MVC事务配置 要了解事务配置的所有方法,请看一下<Spring事务配置的5种方法> 本文介绍两种配置方法: 一.      XML,使用tx标签配置拦截器实现事务 一.   ...

  6. Spring管理 hibernate 事务配置的五种方式

    Spring配置文件中关于事务配置总是由三个组成部分,DataSource.TransactionManager和代理机制这三部分,无论是那种配置方法,一般变化的只是代理机制这块! 首先我创建了两个类 ...

  7. Sping中的事务配置

    关于Spring的事务配置,主要的配置文件如下(使用了C3P0连接池): <?xml version="1.0" encoding="UTF-8"?> ...

  8. Spring事务配置

    Spring中事务的配置学习: 1.心法 Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一 ...

  9. Spring事务配置的五种方式 -- 越往后需要Spring版本越高

    第五种 基本零配置  个人感觉第四种也可以 Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式, ...

随机推荐

  1. 将Excel的数据更新至SqlServer

    update P_Dic_Region set F_Long=a.F_Long,F_Lat=a.F_Lat from( select * from OPENDATASOURCE( 'Microsoft ...

  2. codeforce——思维dp

    Codeforces 822C Hacker, pack your bags!(思维)   题目大意:给你n个旅券,上面有开始时间l,结束时间r,和花费cost,要求选择两张时间不相交的旅券时间长度相 ...

  3. iOS UI-静态单元格与动态单元格

  4. WEB标准以及W3C的理解和认识

    web标准简单来说可以分为结构.表现和行为.其中结构主要是有HTML标签组成.表现即指css样式表,通过css可以是页面的结构标签更具美感.行为是指页面和用户具有一定的交互,同时页面结构或者表现发生变 ...

  5. poj3814

    题解: 所以poj只放了一组数据? 打表(花费了我无数心血找的的打标) 代码: #include <stdio.h> int main(){ printf("1\n2\n1\n2 ...

  6. Java Web编程的主要组件技术——Hibernate核心组件

    参考书籍:<J2EE开源编程精要15讲> Hibernate配置文件 1) hibernate.cfg.xml <?xml version='1.0' encoding='UTF-8 ...

  7. java.io.File中的 pathSeparator 与separator 的区别

    先总的说一下区别: File.pathSeparator指的是分隔连续多个路径字符串的分隔符,例如: java   -cp   test.jar;abc.jar   HelloWorld 就是指“;” ...

  8. Keep On Movin

    上回书说道不愿透露姓名的巨巨还剩下一个数组,这个数组记录了他学习c++ 语言的过程. 现在这个数组a里有一些字符,第i个字符的数量是a[i].巨巨想用这些字符来构造一些回文串好让他的程序通过编译. 他 ...

  9. Leetcode Excel Sheet Column Number (C++) && Excel Sheet Column Title ( Python)

    Given a column title as appear in an Excel sheet, return its corresponding column number. For exampl ...

  10. python基于协程的网络库gevent、eventlet

    python网络库也有了基于协程的实现,比较著名的是 gevent.eventlet 它两之间的关系可以参照 Comparing gevent to eventlet, 本文主要简单介绍一下event ...