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();

, 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();

) {

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. atitit.提升稳定性---hibernate 添加重试retry 机制解决数据库连接关闭

    atitit.提升稳定性---hibernate 添加重试retry 机制解决数据库连接关闭 1. 流程总结 retry(5times).invoke(xxx).test().rest().$() t ...

  2. Atitit.提升稳定性-----分析内存泄漏PermGen OOM跟解决之道...java

    Atitit.提升稳定性-----分析内存泄漏PermGen OOM跟解决之道...java 1. 内存区域的划分 1 2. PermGen内存溢出深入分析 1 3. PermGen OOM原因总结 ...

  3. Atitit.软件开发提升稳定性总结

    Atitit.软件开发提升稳定性总结 #----影响稳定性几个类别 3 1. 资源和内存泄漏溢出 3 2. 数据库/文件死锁 3 3. 类库冲突 3 4. 热更新热部署(业务可用性 3 5. 程序崩溃 ...

  4. Atitit.提升软件稳定性---基于数据库实现的持久化 循环队列 环形队列

    Atitit.提升软件稳定性---基于数据库实现的持久化  循环队列 环形队列 1. 前言::选型(马) 1 2. 实现java.util.queue接口 1 3. 当前指针的2个实现方式 1 1.1 ...

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

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

  6. atitit.提升软件开发的效率and 质量的那些强大概念and方法总结

    atitit.提升软件开发的效率and 质量的那些强大概念and方法总结 1. 主流编程中三个最糟糕的问题 1 1.1. 从理解问题后到实现的时间很长 1 1.2. 理解和维护代码  2 1.3. 学 ...

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

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

  8. atitit.提升开发效率---MDA 软件开发方式的革命(3)----自动化建表

    atitit.提升开发效率---MDA 软件开发方式的革命(3)----自动化建表 1. 建模在后自动建表 1 1. 传统上,需要首先建表,在业务编码.. 1 2. 模型驱动建表---更多简化法是在建 ...

  9. atitit.提升2--3倍开发效率--cbb体系的建设..

    atitit.提升开发效率--cbb体系的建设.. #--提升倍数,大概2--3倍.. #---cbb的内容 知识的,expt的,经验的技术的部件的问题库的角度.. #---cbb的层次,tech l ...

随机推荐

  1. java并发的理解

    我认为并发大体上分为两种情况 1,多个线程或者进程访问公共资源,比如12306 2,多个线程访问同一个实例变量,比如tomcat 多个请求的线程访问同一个单例bean,如果bean是有状态的,就可能出 ...

  2. lstm

    http://colah.github.io/posts/2015-08-Understanding-LSTMs/ 这里介绍lstm写的很不错,尤其是按照不同的part进行解析,感觉很好,很清晰.

  3. Linux crontab命令的使用方法

    crontab命令常见于Unix和Linux的操作系统之中,用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行. 在 ...

  4. Hex编码字节

    1.将字节数组转换为字符串 /** * 将字节数组转换为字符串 * 一个字节会形成两个字符,最终长度是原始数据的2倍 * @param data * @return */ public static ...

  5. Matlab学习(一):数字图像处理大作业用到的函数

    1.dlmread——将以 ASCII 码分隔的数值数据读入到矩阵中 dt = dlmread(,); dt = dt(:,); save('data2.txt','dt','-ascii'); 2. ...

  6. 评估Divide and Conquer算法时间复杂度的几种策略

    算法导论的第四章对于divide-conquer进行了阐述, 感觉这本书特别在,实际给出的例子并不多,更多其实是一些偏向数学性质的分析, 最重要的是告诉你该类算法分析的一般性策略. 估计 首先是估计算 ...

  7. 学习springMVC框架配置遇到的问题-数据写入不进数据库时的处理办法

    配置完了,运行,数据写入不到数据库中,就应该想UserAction 中的handleRequest()方法有没有进去,然后就设置断点.如果发现程序没有进去,就再想办法进去.

  8. jquery实现标签上移、下移、置顶

    eg:如在后台的标签列表中,实现上移.下移.置顶功能 思路: 1.先用到的克隆方法.clone(true): 即把当前要移动的项先保存好,备于后用. 2.找到当前标签所对应的相关元素及其相关方法: 如 ...

  9. 将asp.net页面弄成伪静态

    在Web.config中写: <RewriterConfig>     <Rules> <RewriterRule>         <LookFor> ...

  10. git 常用技巧

    撤销修改 撤销本地修改 git reset --hard 或者 git checkout -- . 切换分支 切换到前一分支 git checkout - 切换到某个分支 git checkout & ...