`
ceci.lia
  • 浏览: 142158 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Tomcat6上配置BTM

阅读更多
1)去http://docs.codehaus.org/display/BTM/Home上下载BTMzip包。

2)解压缩包,并将如下几个jar包拷贝tomcat6的lib下:btm-2.1.1.jar,btm-tomcat55-lifecycle-2.1.1.jar,geronimo-jta_1.1_spec-1.1.1.jar,slf4j-api-1.6.1.jar,slf4j-jdk14-1.6.1.jar。

3)拷贝对应数据的jdbc驱动包到tomcat6的lib下,则这边采用oracle11g作为后端测试的数据库,所以拷贝oracle jdk6.0 jdbc包ojdbc6.jar到lib下。

4)进入tomcat6的bin目录下,编辑startup.bat,在
set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"
下增加一行
set "CATALINA_OPTS=-Dbtm.root=%CATALINA_HOME% -Dbitronix.tm.configuration=%CATALINA_HOME%\conf\btm-config.properties"
后,进行保存。

5)进入tomcat6的conf目录,创建文件:btm-config.properties并填入内容:
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。在其中写入:
resource.ds1.className=oracle.jdbc.xa.client.OracleXADataSource
resource.ds1.uniqueName=jdbc/oracle
resource.ds1.minPoolSize=0
resource.ds1.maxPoolSize=5
resource.ds1.allowLocalTransactions=true
#resource.ds1.driverProperties.driverClassName=oracle.jdbc.driver.OracleDriver
resource.ds1.driverProperties.URL=jdbc:oracle:thin:@localhost:1521:orcl
resource.ds1.driverProperties.user=scott
resource.ds1.driverProperties.password=Pass1234
。绑定的JNDI名称为:java:comp/env/jdbc/oracle。

6)进入tomcat6的conf文件,编辑server.xml,在
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
下增加一行:
<Listener className="bitronix.tm.integration.tomcat55.BTMLifecycleListener" />
用于监控BTM的生命周期(在tomcat启动或者关闭时);在同一目录下,编辑context.xml文件,在
<WatchedResource>WEB-INF/web.xml</WatchedResource>
下增加一行:
<Transaction factory="bitronix.tm.BitronixUserTransactionObjectFactory" />
配置UserTransaction,对应的jndi名称为:java:comp/UserTransaction。在增加一行对上面配置的数据源的引用:
<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的事务管理器了。
分享到:
评论
4 楼 ceci.lia 2012-12-06  
lymyun 写道
你好,请问一下mysql 对应的这个参数是什么?谢谢了
resource.ds1.className=oracle.jdbc.xa.client.OracleXADataSource 

需要引入mysql的jdbc包,将对应的数据源修改成MySQL对应的XADataSource即可。
3 楼 lymyun 2012-12-06  
你好,请问一下mysql 对应的这个参数是什么?谢谢了
resource.ds1.className=oracle.jdbc.xa.client.OracleXADataSource 
2 楼 ceci.lia 2012-04-24  
Steven_Xiao 写道
请问你这样能成功么?有成功的例子没?

我自己在做jbpm5.2运行在tomcat上的时候配置成功了。
1 楼 Steven_Xiao 2012-04-20  
请问你这样能成功么?有成功的例子没?

相关推荐

Global site tag (gtag.js) - Google Analytics