atitit.提升稳定性---hibernate 增加重试retry 机制解决数据库连接关闭

1. 流程总结

retry(5times).invoke(xxx).test().rest().$() throw OvertimeEX

retry(5times):: throw OvertimeEX

调用器() /// 调用原来的api

测试器() :::://返回T/f

Reset()      重设器

End::

测试器()

命令Case1 ok, 返回T

Case2 fail, 返回F,>>重试

Case3 ex,返回F>>>重试

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

2. class

Deprecated

public abstract class retry

这个马reset 方法

3. retryO7  带reset方法

public static Session getSession() {

// attilax 老哇的爪子 i4148 o78

//for log rzt detail msg... normal use not neccesry...

retryRzt rzt = new retryRzt();

return new retryO7<Session>(5, rzt) {

@Override

public Boolean item(Object t) throws Exception {

// attilax 老哇的爪子 下午11:49:37 2014年6月9日

final Session sess = getSessionOri();

this.setResetObj(sess);

List li = sess.createQuery("select 1").list();

// core.ex4test();

if (li.size() > 0) {

this.setResult(sess);

return true;

}

return false;

}

// return null;

@Override

public void reset(final Object sessObj) {

core.log("---o79: conn is close ,now startclose session..");

Session sess = (Session) sessObj;

sess.close();

}

}.$O69();

}

4. getSessionOri

public static Session getSessionOri() throws HibernateException {

Session session = (Session) threadLocal.get();

if (session == null || !session.isOpen()) {

if (sessionFactory == null) {

rebuildSessionFactory();

}

session = (sessionFactory != null) ? sessionFactory.openSession()

: null;

threadLocal.set(session);

}

return session;

}

atitit.提升稳定性---hibernate 增加重试retry 机制解决数据库连接关闭相关推荐

  1. tenacity发生异常/失败/错误时重试retry机制,Python

    tenacity发生异常/失败/错误时重试retry机制,Python 安装: pip install tenacity 示例: @retry def non_stop():print("永 ...

  2. Atitit.提升 升级类库框架后的api代码兼容性设计指南

    Atitit.提升 升级类库框架后的api代码兼容性设计指南 1. 增加api直接增加,版本号在注释上面增加1 2. 废弃api,使用主见@dep1 3. 修改api,1 4. 修改依赖import, ...

  3. Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net

    Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net 1. 提升单例有能力的1 2. 减少工作数量2 2.1. 减少距 ...

  4. Atitit.提升api兼容性的方法 v3 q326

    Atitit.提升api兼容性的方法 v3 q326 1. Atitit.兼容性的"一加三"策略1 2. 2. 扩展表模式1 3. 3. 同时运行模式1 3.1. 3.1. 完美的 ...

  5. Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓 O725

    Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓  O725 1. DSL主要分为三类:外部DSL.内部DSL,以及语言工作台. 1 2. DSL ...

  6. Springboot - retry机制简介以及踩过的坑

    像一般遇到这样的访问对端服务失败的情况我们都是怎么做的呢,一般不去主动处理的话,数据默认都丢弃了,对于一些对数据要求比较高的服务就不行了,要不就是去重试,要不就是在失败的时候将数据入库,等后面再人工介 ...

  7. 用友畅捷通文吉:如何通过智能运维提升稳定性保障

    嘉宾 | 文吉   整理人 | 巫柔颖 出品 | CSDN云原生 AIOps由Gartner于2016年提出,基于已有的运维数据(日志.监控信息.应用信息等),整合大数据和机器学习的能力,为IT运维管 ...

  8. paip. 提升性能---hibernate的缓存使用 总结

    paip. 提升性能---hibernate的缓存使用 总结 作者Attilax  艾龙,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog ...

  9. Atitit 提升效率 界面gui方面的前后端分离与cbb体系建设 规范与推荐标准

    Atitit 提升效率 界面gui方面的前后端分离与cbb体系建设 规范与推荐标准 1. 界面gui方面的前后端分离重大意义1 2. 业务逻辑也适当的迁移js化1 3. 常用分离方法2 3.1. 页面 ...

  10. atitit.it企业管理 项目管理 中的 授权机制 的来源 君权神授 的一定合理性

    atitit.it企业管理 项目管理 中的 授权机制 的来源 君权神授 的一定合理性 1. 授权(权利来源)的5种模式 1 2. 企业的组织机构与管理运作来源于国家的管理...而国家的管理又来源于宗教 ...

最新文章

  1. 强化学习(十六) 深度确定性策略梯度(DDPG)
  2. linux macos 界面对比,GNOME 3与Mac OS X 10.7 (Lion)的纵览模式比较
  3. java集合的添加方法_深入理解java集合框架之---------Arraylist集合 -----添加方法
  4. Android中TextView的使用详情综述
  5. c语言中汉字属于什么类型_练字应该练什么之:汉字基本结构的类型
  6. 《电脑书籍镜像下载3CD PDG格式》PDG电子书[ISO]
  7. 莱昂哈德·欧拉生平及其成就简介
  8. 密西根州立大学计算机qs分数,密歇根州立大学2021年QS世界大学排名第157
  9. Otsu算法原理与python实现
  10. 中国企业信息化发展史
  11. 电脑录屏怎么录?3个方法,教你如何录制视频
  12. CSDN为什么要办一场面向开发者的云计算大会?
  13. MATLAB(3)MATLA 求极限 求积分 求微分 求级数的和
  14. 千呼万唤始出来,犹抱琵琶半遮面——python变量和数据类型
  15. 当你准备自定义view的时候
  16. 什么叫组网_小米科普:一文看懂路由器上的 Mesh 组网是什么
  17. ZOOM join meeting提示密码错误
  18. 深度强化学习笔记(二)——Q-learning学习与二维寻路demo实现
  19. 计算机与计算机网络_让计算机承担责任
  20. JavaScript:HTML中的UI->标签

热门文章

  1. Cygwin下用Open SSH启动SSH服务
  2. mysql,sqlserver数据库单表数据过大的处理方式
  3. Word 2007 目录生成技巧
  4. 02 . 在 Linux 上安装Oracle11g 数据库
  5. 位操作实现加减乘除四则运算
  6. reactive streams与观察者模式
  7. tweenlite的组合使用
  8. 在 Java 应用程序中定时执行任务
  9. 中文搜索引擎技术揭密-网络蜘蛛
  10. 如何简单的理解TDD与DDT