45fan.com - 路饭网

搜索: 您的位置主页 > 电脑频道 > 电脑教程 > 阅读资讯:Hibernate的JTA事务应用有什么?

Hibernate的JTA事务应用有什么?

2016-08-31 11:05:42 来源:www.45fan.com 【

Hibernate的JTA事务应用有什么?

小弟就Hibernate的JTA事务应用花了三天的时间才算搞好,真是有点汗颜。在网上搜出来的例子,都不能用,可能小弟的Java基础太弱了。不知道大家是不是都是用JTA的事务。网上的例子可都是用Session的事务。

写出来,以防止自己以后忘记了。呵呵。

由于我不断尝试,所以,现在写下的是最后的结果,如果有谁知道其中有哪些步骤可以省略,请告诉我。

这次就是使用:Tomcat+Hibernate+JOTM

1.在Tomcat中配置JOTM(Hibernate的JTA事务应用有什么?http://www.objectweb.org/jotm/)

先到上述网站上下载JOTM。然后将

jotm.jar、jotm_jrmp_stubs.jar、jonas_timer.jar、carol.jar、jta-spec1_0_1.jar

jts1_0.jar、objectweb-datasource.jar、xapool.jar

这些Jar文件复制到:$TOMCAT_HOME/common/lib/目录中。

将JDBCdriver复制到:$TOMCAT_HOME/common/lib/目录中。

将文件:carol.properties复制到:$TOMCAT_HOME/common/classes/目录中。

下面,修改Tomcat的Server.xml配置文件。

[code]

<Resourcename="jdbc/dataSrc"auth="Container"type="javax.sql.DataSource"/>

<parameter>

<name>factory</name>

<value>org.objectweb.jndi.DataSourceFactory</value>

..........

</parameter>

<Resourcename="UserTransaction"auth="Container"

type="javax.transaction.UserTransaction"/>

<ResourceParamsname="UserTransaction">

<parameter>

<name>factory</name>

<value>org.objectweb.jotm.UserTransactionFactory</value>

</parameter>

<parameter>

<name>jotm.timeout</name>

<value>60</value>

</parameter>

</ResourceParams>

[/code]

注意上面的数据库连接池的配置,要用JOTM中的XAPool。

基本上,我们就配置好了Tomcat中的JOTM。

2。Hibernate中的事务配置。(我想这步可以省略,但还没测试。请有心人测试一下。)

在hibernate.cfg.xml中

<propertyname="transaction.factory_class">

net.sf.hibernate.transaction.JTATransactionFactory

</property>

<propertyname="transaction.manager_lookup_class">

net.sf.hibernate.transaction.JOTMTransactionManagerLookup

</property>

<propertyname="jta.UserTransaction">

java:comp/UserTransaction

</property>

好了,现在可以使用网上最常见的代码:

1javax.transaction.UserTransactiontx=

2newInitialContext().lookup("java:comp/UserTransaction");

3tx.begin();

4

5Sessions1=sf.openSession();

6...

7s1.flush();

8s1.close();

9

10...

11

12Sessions2=sf.openSession();

13...

14s2.flush();

15s2.close();

16

17tx.commit();
 

本文地址:http://www.45fan.com/dnjc/70173.html
Tags: 事务 hibernate JTA
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部