您当前位置: 圣才学习网首页 >> IT类 >> Java程序设计

Java Transaction API简介与分布式事务处理(2)

扫码手机阅读
用圣才电子书APP或微信扫一扫,在手机上阅读本文,也可分享给你的朋友。
评论(0
   
来源:网络 作者:未知
 
  应用程序服务器
 
  应用程序服务器是事务处理操作的另一个组件。应用程序服务器处理大部分的应用程序操作并且获得最终用户应用程序的一些负载。基于前面的例子,我们可以看出应用程序服务器在事务处理上添加了另一个操作层:
 
 
 
  到目前为止,我们的例子说明了单个的本地事务处理,并且描述了分布式事务处理模型的五个组件中的四个。第五个组件,事务管理程序只有当事务将要被分配的时候才会开始被考虑。
 
  分布式事务处理和事务管理程序
 
  像我们前面所提到的,一个分布式事务处理是一个在两个或更多网络资源上访问和更新数据的事务处理。
 
  这些资源可以由好几个位于一个单独服务器上的不同的关系型数据库管理系统组成,比如说OracleSQL ServerSybase;它们也可以包含存在于若干不同的服务器上的同一种数据库的若干个实例。在任何情况下,一个分布式事务处理包括各种的资源管理程序之间的协同作用。这个协同作用是事务管理函数。
 
  事务管理程序负责作出要么提交(commit)要么退回(rollback)任何分布式事务处理的决定。一个提交决定应该导致一个成功的事务处理;而退回操作则是保持数据库中的数据不变。JTA指定一个分布式事务处理中的事务管理程序和另一个组件之间的标准Java接口:应用程序,应用程序服务器和资源管理程序。这个关系被显示在下面的图表中:
 
 
 
  在事务管理程序周围的数字框框相应于JTA的三个接口部分:
 
  1—UserTransaction—javax.transaction.UserTransaction接口提供能够编程地控制事务处理范围的应用程序。javax.transaction.UserTransaction方法开启一个全局事务并且使用调用线程与事务处理关联。
 
  2—Transaction Manager—javax.transaction.TransactionManager接口允许应用程序服务器来控制代表正在管理的应用程序的事务范围。
 
  3—XAResource—javax.transaction.xa.XAResource接口是一个基于X/Open CAE Specification的行业标准XA接口的Java映射。
 
  注意,一个限制性环节是通过JDBC驱动程序的XAResource接口的支持。JDBC驱动程序必须支持两个正常的JDBC交互作用:应用程序和/或应用程序服务器,而且以及JTAXAResource部分。
 
  编写应用程序水平代码的开发者不会关心分布式事务处理管理的细节。这是分布式事务处理基本结构的工作应用程序服务器、事务管理程序和JDBC驱动程序。应用程序代码中唯一的需要注意的就是当连接处于一个分布式事务范围内的时候,不应该调用一个会影响事务边界的方法。特别的是,一个应用程序不应该调用Connection方法commitrollbacksetAutoCommittrue),因为它们将破坏分布式事务的基本结构管理。
 
相关阅读
 
  Java Transaction API简介与分布式事务处理(3
 

小编工资已与此挂钩!一一分钱!求打赏↓ ↓ ↓

如果你喜欢本文章,请赐赏:

已赐赏的人
最新评论(共0条)评论一句