浏览 1161 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-08-25
最后修改:2012-08-25
最新代码请参考文档获取: bbossgroups 项目下载地址 1.方法声明 组件类 com.frameworkset.orm.transaction.TransactionManager 新加方法声明 /** * 在final方法中调用,用来在出现异常时对事务资源进行回收,首先对事务进行回滚, * 然后回收资源(不输出日志),如果事务已经提交和回滚,则不做任何操作 */ public void releasenolog() /** * 在final方法中调用,用来在出现异常时对事务资源进行回收,首先对事务进行回滚, * 然后回收资源,并将回事日志输出到日志文件中,如果事务已经提交和回滚,则不做任何操 作 */ public void release() 2.这两个方法的示例 public void testTX11() throws Exception { TransactionManager tm = new TransactionManager(); try { tm.begin(); //进行一系列db操作 //必须调用commit tm.commit(); } catch (Exception e) { throw e; } finally { tm.release(); } } public void testTX() throws Exception { TransactionManager tm = new TransactionManager(); try { tm.begin(TransactionManager.RW_TRANSACTION); //进行一系列db操作 //注意对于RW_TRANSACTION事务可以不调用commit方法,finally中调用的releasenolog //方法会自动释放事务,如果在下面调用commit也不会对事务造成影响,记住release方法是必须调用commit方法的,这个就是RW_TRANSACTION事务和其他事务的最大区别之一 tm.commit(); } catch (Exception e) { throw e; } finally { tm.releasenolog(); } } 注意 对于RW_TRANSACTION事务在finally块中调用了releasenolog方法后就可以不调用commit方法,finally块中调用的releasenolog方法会自动释放事务,但是调用commit也不会对事务造成影响,记住release方法是必须调用commit方法的,这个就是RW_TRANSACTION事务和其他事务类型的最大区别之一。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |