• 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;

        }

    我要啦免费统计
  • 相关阅读:
    剑指offer的前16题-java版
    JAVA基本数据类型所占字节数是多少?(32位系统)
    二叉树的镜像
    阿里简历问题
    javaSE基础总结
    小心情
    九九乘法表-for循环和while循环
    Python PEP8 编码规范及中文版
    比大小和猜数字
    猜拳游戏
  • 原文地址:https://www.cnblogs.com/attilax/p/15199125.html
Copyright © 2020-2023  润新知