Jfinal事务
来源:互联网 发布:中兴网络机顶盒设置 编辑:程序博客网 时间:2024/06/06 00:19
Jfinal事务原理
通过对方法增加全局拦截器,执行对应方法时,被事务拦截器拦截,当执行到拦截器链的后半段而没有异常抛出时,执行事务的commit()。有异常抛出则执行事务的回滚方法rollback()。1.第一步给指定的方法添加拦截器的方式①在启动配置文件中,通过正则匹配方法,能够匹配到的方法,将添加事务拦截器②通过注解Before(Tx.class)为相应的方法添加事务拦截器,此方法被请求时将添加事务拦截器③如果有自定义注解@interface Service,且@interface Service有关联事务连接器也可以通过在service中开启事务(说明:我们项目中施用Enhance对开启事务的service注解,进行添加事务)2.第二步就是拦截器中对事务的实现,采用JDBC事务实现①创建连接Connection conn = config.getThreadLocalConnection();
if (conn != null) {// Nested transaction support
try {
if (conn.getTransactionIsolation() < getTransactionLevel(config))
conn.setTransactionIsolation(getTransactionLevel(config));
inv.invoke();
return ;
} catch (SQLException e) {
throw new ActiveRecordException(e);
}
}
Boolean autoCommit = null;
try {
conn = config.getConnection();②设置自动提交为falseautoCommit = conn.getAutoCommit();
config.setThreadLocalConnection(conn);
conn.setTransactionIsolation(getTransactionLevel(config));// conn.setTransactionIsolation(transactionLevel);
conn.setAutoCommit(false);
inv.invoke();③执行完没有异常抛出则提交inv.invoke();
conn.commit();④有异常则捕获异常,回滚if (result)
conn.commit();
else
conn.rollback();
return result;
} catch (NestedTransactionHelpException e) {
if (conn != null) try {conn.rollback();} catch (Exception e1) {LogKit.error(e1.getMessage(), e1);}
LogKit.logNothing(e);
return false;
} catch (Throwable t) {
if (conn != null) try {conn.rollback();} catch (Exception e1) {LogKit.error(e1.getMessage(), e1);}
throw t instanceof RuntimeException ? (RuntimeException)t : new ActiveRecordException(t);
} finally {
阅读全文
0 0
- Jfinal事务
- JFinal学习--08事务
- Jfinal事务回滚
- 记一次jfinal事务大坑
- JFinal使用事务及其原理
- 数据库存储过程,事务 jfinal中调用存储过程,事务
- jfinal
- JFinal
- jfinal
- jfinal
- JFinal
- jfinal
- JFinal
- JFinal
- JFinal
- jfinal
- JFinal / JFinal
- 续:【基于JFinal建立的Db+Record实现的数据库表字段加密】-- 实现事务控制
- 基于ZXing二维码实现(示例三)
- 三角测距法的原理
- 1常量
- android机顶盒真机调试方法
- sap使用DB13和brtools发起oracle数据库备份
- Jfinal事务
- Oracle密码复杂度设置
- java实现邮箱验证
- Git Push 避免用户名和密码方法
- GCD研究01
- PHP常用日期函数
- 挑战程序竞赛系列(46):4.1Polya 计数定理(2)
- VMware网络配置详解:三种网络模式简介
- Android okHttp网络请求之Get/Post请求