首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

JOTM 分布式事宜初探(JNDI,Tomcat 7 JDBC Pool连接池)

2013-08-11 
JOTM 分布式事务初探(JNDI,Tomcat 7 JDBC Pool连接池)JOTM 分布式事务初探(JNDI,Tomcat 7 JDBC Pool连接池

JOTM 分布式事务初探(JNDI,Tomcat 7 JDBC Pool连接池)

JOTM 分布式事务初探(JNDI,Tomcat 7 JDBC Pool连接池)

?

Tomcat 7 带了一个新的连接池 tomcat(The Tomcat JDBC Connection Pool)

网上有人测试,据说性能超过常用连接池(c3p0等).

链接:http://www.open-open.com/lib/view/open1329182303124.html

并且这个连接池提供的连接不是普通的Connection,而是pooledConnection,

而且支持提供XADataSource(org.apache.tomcat.jdbc.pool.XADataSource).

?

The Tomcat JDBC Connection Pool可独立使用,

需要Tomat7版本下lib包中的tomcat-jdbc.jar和bin中的tomcat-juli.jar

?

可以用来做JOTM的分布式事务的数据源.

?

实际使用tomcat版本 是5.5.25

?

JOTM版本 2.1.9 http://jotm.ow2.org/xwiki/bin/view/Main/Download_Releases

?

1. 新建一个Java web工程

?

? ?将JOTM的lib包下的所有jar包(包括一个空的ext文件夹)拷贝到web-inf的lib下

? ?

? ?将Tomcat版本中的tomcat-jdbc.jar和tomcat-juli.jar拷贝到

? ?tomcat5.5.25的common\lib下,并引入到工程中来.

? ?

? ?将 mysql和oracle的jdbc驱动拷贝到web-inf的lib下

? ?(classes12.jar--oracle驱动,mysql-connector-java-5.1.24-bin.jar--mysql驱动)

? ?

? ?需要将web-inf的lib下所有jar包拷贝到tomcat5.5.25的common\lib下,部署的时候,注意将

? ?webapps\工程\web-inf的lib下的jar全部删除,使用tomcat5.5.25的common\lib下的jar包

?

2. 分别在mysql和oracle中创建测试数据库和测试用户

?

? ?2.1 mysql数据库(mysql 版本mysql ?Ver 14.14 Distrib 5.5.11, for Win32 (x86))

? ?下面的语句执行前,可能需要使用root用户登陆

? ?

?上面配置文件中?factory="org.objectweb.jotm.datasource.DataSourceFactory"

?表示使用的是JOMT子弟爱的连接池.

?而配置成?factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"

?表示使用 Tomcat 7 JDBC 连接池

?

注意上面配置数据库连接时,

type="javax.sql.DataSource"

factory="org.objectweb.jotm.datasource.DataSourceFactory"

两个属性,type总是DataSource,尽管JOTM要求提供XADataSource,

主要是factory="org.objectweb.jotm.datasource.DataSourceFactory"这个可以根据需要

选择提供普通的DataSource或者XADataSource.

这样,假如之前有相关的配置,则修改为支持JOTM分布式事务时,貌似只要修改这个

factory配置即可.

?

<Transaction>是Tomcat 5中的新标记,对于不支持此标记的老版本,

需要使用以下语句代替事务资源的声明:

?

?

需要注意的是,使用<Resource>节点声明的资源默认上下文前缀是"java:comp/env",

而使用< Transaction>节点时则是"java:comp"。因此,当使用4.2的方式声明用户事务时,

相应的JNDI查找代码也应该改为?

UserTransaction ut = (UserTransaction)initCtx.lookup("java:comp/env/UserTransaction");

上面的配置还配置了一个 UserTransaction.

?

5. 在Java类中获取上面配置的资源

?

? ?

?

? ?

参考 :http://static.raibledesigns.com/downloads/howto-tomcat-jotm.html

?

http://static.raibledesigns.com/downloads/howto-tomcat-jotm.html

?

http://www.blogjava.net/nokiaguy/archive/2008/05/08/199150.html

? ?

? ?

? ?附件为工程文件,需要重新命名

? ?TestJomt001.7z 重命名?TestJomt.7z?.001

? ?TestJomt002.7z 重命名?TestJomt.7z?.002

? ??

?

?

?

?

热点排行