当前位置:  技术问答>java相关

java中关于事务处理的问题,急需解答!在线等待!

    来源: 互联网  发布时间:2015-04-16

    本文导语:  public class TestBean implements SessionBean {   private SessionContext sessionContext;   private Context ctx = null;   private DataSource ds = null;   public TestBean(){}   public void ejbCreate()throws javax.ejb.CreateException {   Properties p= new...

public class TestBean implements SessionBean {
  private SessionContext sessionContext;
  private Context ctx = null;
  private DataSource ds = null;
  public TestBean(){}
  public void ejbCreate()throws javax.ejb.CreateException {
  Properties p= new Properties();
  p.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.T3InitialContextFactory");
  p.put(Context.PROVIDER_URL,"t3://192.168.1.210:7001");
  try{
  javax.naming.Context ctx = (javax.naming.Context) new javax.naming.InitialContext(p);
  ds = (javax.sql.DataSource)ctx.lookup("apache");
  } catch (Exception e) {
      System.out.println(e.getMessage());
      throw new CreateException();
    }
  }
  public RowSet getApache(String sql)throws SQLException{
   Connection con = null;
   ResultSet rs;
   CachedRowSet crs;
     try{
        crs =  new CachedRowSet();
        con = ds.getConnection();
        Statement stmt = con.createStatement();
        rs = stmt.executeQuery(sql);
        crs.populate(rs);
        rs.close();
        stmt.close();
        } finally{
                 if (con != null){
                 System.out.println("not ok");
                 con.close();
        }}
        return crs;
  }
    public String updateApache(RowSet rs) throws SQLException {
        Connection con = null;
        try{
        CachedRowSet crs = (CachedRowSet)rs;
        con = ds.getConnection();

        crs.acceptChanges(con);
        } finally{
                 if (con != null)
                 {
                 System.out.println("ok");
                 con.close();
        }
        }
        return "success";
    }

   public String commit(RowSet rs,RowSet rs1,RowSet rs2) throws SQLException {
        Connection con = null;
        try{
        CachedRowSet crs  =  (CachedRowSet)rs;
        CachedRowSet crs1 = (CachedRowSet)rs1;
        CachedRowSet crs2 = (CachedRowSet)rs2;
        con = ds.getConnection();
        con.setAutoCommit(false);
        crs.acceptChanges(con);
        crs1.acceptChanges(con);
        crs2.acceptChanges(con);
        con.commit();
        }catch(SQLException sql){
        con.rollback();
        }
         finally{
                 if (con != null)
                 {
                  con.close();
                 }
        }
        return "success";
    }

  public void ejbRemove() throws RemoteException {
  }
  public void ejbActivate() throws RemoteException {
  }
  public void ejbPassivate() throws RemoteException {
  }
  public void setSessionContext(SessionContext sessionContext) throws RemoteException {
    this.sessionContext = sessionContext;
  }
}
为什么在 commit中crs1,crs2操作失败的情况下crs为什么不rollback?怎么才能实现呢?

|
可能是SQL已自动提交
加上
con.setAutoCommit(false);
设置为手动提交

    
 
 

您可能感兴趣的文章:

  • java中关于汉字的问题
  • Java中关于字符串字符数目的问题
  • 请教java中关于JComboBox的一个问题
  • 请问如何在java程序中关闭其他程序?急!急!!急!!!
  • Java中关于作用域的一个问题,欢迎大家的光临。
  • java程序在linux运行,要用Runtime.exec()执行外部命令,可外部命令中关于文件操作的路径都很长,如何使用相对路径.在线等待
  • Java中关于int和Integer的区别详解
  • java中关于合成过程中初始化的一问
  • java中关于Map的三种遍历方法详解
  • java中关于内部类的使用详解
  • Java中关于XML的API
  • 请问哪儿有java2编程详解的电子书下载??本人急需!!跟贴有分!!!
  • ★★★本人急需java资料,高分★★★
  • 急需《thinking in java》电子书!!!
  • JAVA的认证SL110有没有用,小弟急需知道,今天就要答案,谢谢。
  • 现急需bmp文件转换成jpg文件的java源代码,请高手们帮帮忙,分数可再加。
  • 请问谁有《java2核心技术 卷I:基础知识》书中例子的源代码?急需!!!
  • 关于java读文件的难题,急需各位高手解答。
  • java概念性问题,急需弄清,回答者一律10分
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • qianyuting(钱),关于Java的问题的解答,来领分,再次感谢!!!
  • java环境变量为什么要配置path和classpath详细解答
  • 想学JAVA,希望解答一个基本概念
  • 有关JAVA的小问题,不知哪位高手帮我解答一下
  • 关于JAVA程序发布的问题,一定给分,请从事JAVA编程工作的人解答
  • think in java里一段关于snake.java的程序没看懂,请大家给解答一下,谢谢
  • 我的java不能运行了,谁能帮我一把?在线等待,我是初学者,请解答得详细一点,谢谢!
  • 小弟初学java,今遇一难题,望众高手解答。
  • 常见问题解答: Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
  • 我在学习java时遇到的几个问题,望大家解答
  • 学java 大半年了,有几个概念性问题一直不清楚,请高手详细解答
  • java是哑巴吗??在线等解答
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍
  • 我对JAVA一窍不通,可惜别人却给我一个Java的project,要我做一个安装程序,请问哪里有JAVA INSTALLER下载,而且我要不要安装java的sdk才能完成此项任务?
  • java命名空间java.security类keystore的类成员方法: getdefaulttype定义及介绍
  • 新年第一天,让我们讨论一下未来一年JAVA的发展趋势! 个人认为,JAVA将主要朝ERP和JAVA手机方面发展!
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getclasspath定义及介绍
  • 我想学Java,但不知道Java的实用的开发工具有那些,Java主要用在哪些方面,EJB到底是什么东西??
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javaserializedobjectmimetype定义及介绍
  • redhat7.3下,java程序打印中文直接用java命令执行正常,用crontab执行java命令为乱码
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javafilelistflavor定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3