JTA使用的初步体会

JTA,全称是Java Transaction API,以我现在的理解,我认为JTA就是能够实现在网络环境中多个数据库在一个事务中进行操作的技术,而我们熟知的JDBC事务只能在一个数据库中进行,因为JDBC中的事务是与连接相关的。

在J2SE5.0的apidoc中javax.transaction包下只有几个异常类,而在J2EE1.4的apidoc能找到相关的接口文档,其中最常用的UserTransaction就在其中,和使用JDBC时设置事务提交类似,在JTA中,事务开始时,需要调用UserTransaction对象的begin方法,事务提交时调用commit方法,若有异常需要回滚,执行rollback即可。至于UserTransaction的实现类则根据使用的Web容器不同,由容器实现,直接使用即可。

这次项目中使用JTA技术进行部分数据的同步,使用的是WebLogic服务器,所以驱动方面还是比较齐全的,配置直接通过console进行就可以了,不过实际应用中遇到了一个问题就是当事务提交过程中出现意外时,事务会有一个超时时限,在这个超时时限以内,事务会不断尝试提交,如果这个时候WebLogic宕机,再重新启动时可能会影响到服务器的启动,因为JTA会不断继续尝试提交事务直至超时,WebLogic中默认的时限是80000多秒,可以根据需要进行修改,设置为符合项目要求的时限。

你可能感兴趣的:(Web,应用服务器,jdbc,weblogic,网络应用)