使用spring处理分布式事务

本文翻译自http://www.javaworld.com/article/2077714/java-web-development/xa-transactions-using-spring.html

前言

当我们需要一些高级特性如事务,安全性,可用性和可扩展性时使用J2EE应用服务器已成为一种必然选择。只有很少的java应用程序才需要这些企业功能,并且组织通常需要一个功能完整的J2EE服务器。 本文主要关注使用JTA(Java事务API)的分布式事务,并将详细阐述如何使用广泛流行的Spring框架和开源代码,在没有J2EE服务器的独立java应用程序中使用分布式事务(也称为XA) JTA实现JBossTS,Atomikos和Bitronix。

深入理解JTA事务处理

前言

Java事务API(JTA)允许应用程序执行分布式事务,也就是说事务可以访问或更新两个或更多网络上的计算机资源。 JTA指定事务管理器和分布式事务系统中涉及的各方之间的标准Java接口:应用程序,应用程序服务器和控制对受事务影响的共享资源的访问的资源管理器。 本文档概述了该处理过程以及DataDirectConnect®for JDBC™驱动程序与其相关的方式

一个事务定义了完全成功或根本不产生结果的逻辑工作单元。 分布式事务仅仅是访问和更新两个或更多网络资源上的数据的事务,因此必须在这些资源之间进行协调。 在本文中,我们主要关注涉及关系数据库系统的事务。

JTA 深度历险 - 原理与实现

本文转自JTA 深度历险 - 原理与实现

前言

在 J2EE 应用中,事务是一个不可或缺的组件模型,它保证了用户操作的 ACID(即原子、一致、隔离、持久)属性。对于只操作单一数据源的应用,可以通过本地资源接口实现事务管理;对于跨数据源(例如多个数据库,或者数据库与 JMS)的大型应用,则必须使用全局事务 JTA (Java Transaction API)。JTA 为 J2EE 平台提供了分布式事务服务,它隔离了事务与底层的资源,实现了透明的事务管理方式。本文将深入探寻 JTA 的体系架构,并通过详细的代码介绍其实现机制。

J2EE事务管理详解

本文翻译自http://www.javaworld.com/article/2076126/java-se/transaction-management-under-j2ee-1-2.html

前言

事务可以被定义为由若干操作组成的不可分割的工作单元,为了保持数据完整性,必须执行所有或不必执行这些操作。 例如,将00从您的支票帐户转移到您的储蓄帐户将包括两个步骤:将您的支票帐户记入00,并将您的储蓄帐户记入00.为了保护数据完整性和一致性 - 以及银行和 客户 - 这两个操作必须一起应用或根本不应用。 因此,它们构成一项交易。

java-design_pattern-summary

本文转自Jason’s Blog,原文链接 http://www.jasongj.com/design_pattern/summary/

OOP三大基本特性

封装

封装,也就是把客观事物封装成抽象的类,并且类可以把自己的属性和方法只让可信的类操作,对不可信的进行信息隐藏。

继承

继承是指这样一种能力,它可以使用现有的类的所有功能,并在无需重新编写原来类的情况下对这些功能进行扩展。

多态

多态指一个类实例的相同方法在不同情形有不同的表现形式。具体来说就是不同实现类对公共接口有不同的实现方式,但这些操作可以通过相同的方式(公共接口)予以调用。

spring处理分布式事务(使用或不使用XA)

原文地址http://www.javaworld.com/article/2077963/open-source-tools/distributed-transactions-in-spring–with-and-without-xa.html

在spring中处理分布式事务我们通常会使用JTA(Java Transaction API)和XA协议,当然你也可以使用其它的解决方案。不同的解决方案取决于你的系统需要处理的资源类型和你在性能,安全性,可靠性和数据一致性间做出的妥协。SpringSource’s David Syer guides 给出了在spring环境中处理分布式的七个模式,其中三个是使用XA,剩余的四个没有使用。

|