zoukankan      html  css  js  c++  java
  • jta

    1.  XADataSource中autocommit是处于false状态的,所以其只能够采用jta中事务处理方式

        进行begin(),commit(),rollback()操作。
        如果不采用jta中事务处理方式
       如:UserTransactionut = (UserTransaction)initCtx.lookup("java:comp/UserTransaction");
            ut.begin();
              /*
                操作
               */
            ut.commit();
         则增加,删除,更改  操作不能够进行
    2. jta对普通的DataSource都是将其AutoCommit 设置为false
        进行操作的
       如果 在 ut.begin();后,所调用到的connection都设置为false,不管之前的
     
      
    3  以下是一些实践: 使用的glassfish服务器
    jta获得:UserTransactionut = (UserTransaction)initCtx.lookup("java:comp/UserTransaction");
      非 XA DataSource jndi测试 connection.jsp 
       在jndi中配置的 XADataSource DataSource ds = (DataSource)initCtx.lookup("jdbc/webgoods"); 


    在jndi中配置的 DataSource = com.sun.gjc.spi.jdbc40.DataSource40@1f71790 
    在调用 UserTransaction.begin()方法前 获得的connection AutoCommit是打开的 
    conn.getAutoCommit() = true 
    在glassfish jndi中默认配置的(JTA) UserTransaction = com.sun.enterprise.transaction.UserTransactionImpl@12bf720
    1 2 3 4 6 7 8 9 10 11 
    在调用 UserTransaction.commit()方法前 获得的connection AutoCommit是关闭的 
    说明:在UserTransaction.begin()方法后,connection的AutoCommit设置为false 
    conn.getAutoCommit() = false 

     
     
     
     

    XA DataSource jndi测试 xaconnection.jsp 
    在jndi中配置的 XADataSource DataSource ds = (DataSource)initCtx.lookup("jdbc/xawebgoods"); 

    在jndi中配置的 DataSource = com.sun.gjc.spi.jdbc40.DataSource40@ac7172 

    XADataSource中的 connection AutoCommit总是false,所以感觉没有必要测试 

    在调用 UserTransaction.begin()方法前 获得的connection AutoCommit是打开的 
    conn.getAutoCommit() = false 
    在glassfish jndi中默认配置的(JTA) UserTransaction = com.sun.enterprise.transaction.UserTransactionImpl@14c0f68
    1 2 3 4 6 7 8 9 10 11 
    在调用 UserTransaction.commit()方法前 获得的connection AutoCommit是关闭的 
    说明:在UserTransaction.begin()方法后,connection的AutoCommit设置为false 
    conn.getAutoCommit() = false 
     
     
     
     

    XA DataSource jndi测试 没有采用jta事务处理,看看能否进行插入操作 xaconnection2.jsp 
    在jndi中配置的 XADataSource DataSource ds = (DataSource)initCtx.lookup("jdbc/xawebgoods"); 

    在jndi中配置的 DataSource = com.sun.gjc.spi.jdbc40.DataSource40@4f5a9e 

    XADataSource中的 connection AutoCommit总是false,所以感觉没有必要测试 
    XADataSource中没有采用UserTransaction的jta事务处理,则增加操作能否成功
     
     
     
     
    非 XA DataSource Hibernate jndi测试 HibernateJNDINOXADataSource.jsp 
    在HibernateSessionFactory中设置CONFIG_FILE_LOCATION = "/noXAhibernate.cfg.xml"; 
    查询结果是:licg
     
     
    XA DataSource Hibernate jndi测试 HibernateJNDIXADataSource.jsp 
    在HibernateSessionFactory中设置CONFIG_FILE_LOCATION = "/XAhibernate.cfg.xml"; 
    查询结果是:licg
     
  • 相关阅读:
    windows下wchar_t* 转char*
    VS2010的调试参数/Zi /DEBUG
    fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86'
    使用opencv传中文文件崩溃
    【20160924】GOCVHelper综述
    编译ITK
    几款开源图像处理软件评测研究
    新注册域名greenopen.site,向专业道路进军
    openmp在图像处理上面的运用
    实现multbandblend
  • 原文地址:https://www.cnblogs.com/heling/p/2175277.html
Copyright © 2011-2022 走看看