zoukankan      html  css  js  c++  java
  • 避免重复记录

    清单 5. LoggableEJBException — EJBException 的一个子类
    public class LoggableEJBException extends EJBException {
        protected boolean isLogged;
        protected String uniqueID;

        public LoggableEJBException(Exception exc) {
          super(exc);
          isLogged = false;
          uniqueID = ExceptionIDGenerator.getExceptionID();
        }

          ..
          ..
    }

    LoggableEJBException 有一个指示符标志(isLogged),用于检查异常是否已经被记录了。每当捕获一个 LoggableEJBException 时,看一下该异常是否已经被记录了(isLogged == false)。如果 isLogged 为 false,则记录该异常并把标志设置为 true


    ExceptionIDGenerator 类用当前时间和机器的主机名为异常生成唯一的标识。如果您喜欢,也可以用有想象力的算法来生成这个唯一的标识。如果您在实体 EJB 组件中记录了异常,则这个异常将不会在别的地方被记录。如果您没有记录就在实体 EJB 组件中抛出了 LoggableEJBException,则这个异常将被记录到会话 EJB 组件中,但不记录到 Web 层中。
    清单 6. 使用 LoggableEJBException 的异常处理
    try {
        OrderHome orderHome = EJBHomeFactory.getInstance().getOrderHome();
        Order order = orderHome.findByPrimaryKey(Integer id);
    } catch (NamingException ne) {
        throw new LoggableEJBException(ne);
    } catch (SQLException se) {
        throw new LoggableEJBException(se);
    } catch (RemoteException re) {
        Throwable t = re.detail;
         if (t != null && t instanceof Exception) {
           throw new LoggableEJBException((Exception) re.detail);
         }  else {
           throw new LoggableEJBException(re);
         }
    }

  • 相关阅读:
    教你在mac上配置adb环境变量
    Android Mediaplayer 调用release()的时候ANR
    Android ANR
    安卓android WebView Memory Leak WebView内存泄漏
    android 小结
    struts提供文件上传功能
    struts自定义拦截器
    struts拦截器的配置和使用
    Struts框架属性驱动
    struts配置文件
  • 原文地址:https://www.cnblogs.com/huqingyu/p/63782.html
Copyright © 2011-2022 走看看