zoukankan      html  css  js  c++  java
  • 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;

        }

    我要啦免费统计
  • 相关阅读:
    如何准备面试复试(1)
    如何应对糟糕的面试官(2)
    美国:经济危机让烟民吸烟量增加
    MOV 指令的注意事项
    一个简单的ajax无刷新翻页的程序
    SQL注入漏洞全接触
    php+mysql非暴力查表的注入语句写法总结
    在你的成长过程中,有五个人非常重要
    爱就在那里,不增不减
    php的一些书籍
  • 原文地址:https://www.cnblogs.com/attilax/p/15199125.html
Copyright © 2011-2022 走看看