科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件JAVA设计模式之事务处理

JAVA设计模式之事务处理

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

事务处理是企业应用需要解决的最主要的问题之一。J2EE通过JTA提供了完整的事务管理能力,包括多个事务性资源的管理能力。

作者:中国IT实验室 来源:中国IT实验室 2007年8月26日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
  • import java.lang.reflect.InvocationHandler;
  • import java.lang.reflect.Method;
  • import java.lang.reflect.Proxy;
  • import java.sql.Connection;
  • import com.strutslet.demo.service.SystemException;
  • public final class TransactionWrapper {
  •     /**
  •      * 装饰原始的业务代表对象,返回一个与业务代表对象有相同接口的代理对象
  •      */
  •     public static Object decorate(Object delegate) {
  •         return Proxy.newProxyInstance(delegate.getClass().getClassLoader(),
  •                 delegate.getClass().getInterfaces(), new XAWrapperHandler(
  •                         delegate));
  •     }
  •    
  •     //动态代理技术
  •     static final class XAWrapperHandler implements InvocationHandler {
  •         private final Object delegate;
  •         XAWrapperHandler(Object delegate) {
  •            this.delegate = delegate;
  •         }
  •        
  •         //简单起见,包装业务代表对象所有的业务方法
  •         public Object invoke(Object proxy, Method method, Object[] args)
  •                 throws Throwable {
  •             Object result = null;
  •             Connection con = ConnectionManager.getConnection();
  •             try {
  •                 //开始一个事务
  •                 con.setAutoCommit(false);
  •                 //调用原始业务对象的业务方法
  •                 result = method.invoke(delegate, args);
  •                 con.commit();   //提交事务
  •                 con.setAutoCommit(true);
  •             } catch (Throwable t) {
  •                 //回滚
  •                 con.rollback();
  •                 con.setAutoCommit(true);
  •                 throw new SystemException(t);
  •             }
  •             return result;
  •         }
  •     }
  • }
      • 评论
      • 分享微博
      • 分享邮件
      邮件订阅

      如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

      重磅专题
      往期文章
      最新文章