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;

        }

    我要啦免费统计
  • 相关阅读:
    简单排序(冒泡、选择、插入)
    配置Tomcat数据源
    使用spring的邮件发送功能
    安装Tomcat
    Spring-MongoDB简单操作
    cisco ASA ios升级或恢复
    ASA 用TFTP 备份配置方法
    DELL MD3200i存储控制器解锁方法
    IBM ServerGuide引导盘全系列下载网址
    ASA5520远程配置 telnet,ssh
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5058156.html
Copyright © 2011-2022 走看看