atitit.提升稳定性---hibernate 增加重试retry 机制解决数据库连接关闭
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 机制解决数据库连接关闭相关推荐
- tenacity发生异常/失败/错误时重试retry机制,Python
tenacity发生异常/失败/错误时重试retry机制,Python 安装: pip install tenacity 示例: @retry def non_stop():print("永 ...
- Atitit.提升 升级类库框架后的api代码兼容性设计指南
Atitit.提升 升级类库框架后的api代码兼容性设计指南 1. 增加api直接增加,版本号在注释上面增加1 2. 废弃api,使用主见@dep1 3. 修改api,1 4. 修改依赖import, ...
- 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. 减少距 ...
- Atitit.提升api兼容性的方法 v3 q326
Atitit.提升api兼容性的方法 v3 q326 1. Atitit.兼容性的"一加三"策略1 2. 2. 扩展表模式1 3. 3. 同时运行模式1 3.1. 3.1. 完美的 ...
- Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓 O725
Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓 O725 1. DSL主要分为三类:外部DSL.内部DSL,以及语言工作台. 1 2. DSL ...
- Springboot - retry机制简介以及踩过的坑
像一般遇到这样的访问对端服务失败的情况我们都是怎么做的呢,一般不去主动处理的话,数据默认都丢弃了,对于一些对数据要求比较高的服务就不行了,要不就是去重试,要不就是在失败的时候将数据入库,等后面再人工介 ...
- 用友畅捷通文吉:如何通过智能运维提升稳定性保障
嘉宾 | 文吉 整理人 | 巫柔颖 出品 | CSDN云原生 AIOps由Gartner于2016年提出,基于已有的运维数据(日志.监控信息.应用信息等),整合大数据和机器学习的能力,为IT运维管 ...
- paip. 提升性能---hibernate的缓存使用 总结
paip. 提升性能---hibernate的缓存使用 总结 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog ...
- Atitit 提升效率 界面gui方面的前后端分离与cbb体系建设 规范与推荐标准
Atitit 提升效率 界面gui方面的前后端分离与cbb体系建设 规范与推荐标准 1. 界面gui方面的前后端分离重大意义1 2. 业务逻辑也适当的迁移js化1 3. 常用分离方法2 3.1. 页面 ...
- atitit.it企业管理 项目管理 中的 授权机制 的来源 君权神授 的一定合理性
atitit.it企业管理 项目管理 中的 授权机制 的来源 君权神授 的一定合理性 1. 授权(权利来源)的5种模式 1 2. 企业的组织机构与管理运作来源于国家的管理...而国家的管理又来源于宗教 ...
最新文章
- 强化学习(十六) 深度确定性策略梯度(DDPG)
- linux macos 界面对比,GNOME 3与Mac OS X 10.7 (Lion)的纵览模式比较
- java集合的添加方法_深入理解java集合框架之---------Arraylist集合 -----添加方法
- Android中TextView的使用详情综述
- c语言中汉字属于什么类型_练字应该练什么之:汉字基本结构的类型
- 《电脑书籍镜像下载3CD PDG格式》PDG电子书[ISO]
- 莱昂哈德·欧拉生平及其成就简介
- 密西根州立大学计算机qs分数,密歇根州立大学2021年QS世界大学排名第157
- Otsu算法原理与python实现
- 中国企业信息化发展史
- 电脑录屏怎么录?3个方法,教你如何录制视频
- CSDN为什么要办一场面向开发者的云计算大会?
- MATLAB(3)MATLA 求极限 求积分 求微分 求级数的和
- 千呼万唤始出来,犹抱琵琶半遮面——python变量和数据类型
- 当你准备自定义view的时候
- 什么叫组网_小米科普:一文看懂路由器上的 Mesh 组网是什么
- ZOOM join meeting提示密码错误
- 深度强化学习笔记(二)——Q-learning学习与二维寻路demo实现
- 计算机与计算机网络_让计算机承担责任
- JavaScript:HTML中的UI->标签