java缓存技术讨论

//Source   file:   D://dhrm//src//com//common//SysCommonEnvMap.java  
   
  package   com.common;  
   
   
  import   java.util.*;  
  import   com.common.exception.CommonEnvException;  
  import   java.sql.*;  
   
  /**  
    单例类,系统运行过程中需要用到的配置信息映射对象  
    @author   zbb  
    */  
  public   class   SysCommonEnvMap    
  {  
   
  /**  
    映射信息存储对象  
    */  
  private   Map   envMap;  
   
  private   static   SysCommonEnvMap   sysEnvMap   ;  
   
   
   
   
  /**  
    *   取得映射信息对象  
    */  
  public   static   SysCommonEnvMap   getInstance()   throws   Exception  
  {  
   
  if(sysEnvMap   ==   null)  
  {  
  sysEnvMap   =   new   SysCommonEnvMap();  
  }  
  return   sysEnvMap;  
   
  }  
   
  }  
   
   
  protected   SysCommonEnvMap()   throws   Exception  
  {  
  this.init();  
  }  
   
  /**  
    通过关键字key,取得相应的值  
    */  
  public   String   get(String   key)   throws   Exception  
  {  
  //检测  
  if(this.getIsNeedToRefreshByCtx())  
  {  
  this.refresh();  
  }  
  return   ((String)this.envMap.get(key));  
  }  
   
  /**  
    *   以Map对象的形式返回对乡存储的所有信息  
    */  
  public   Map   getMap()   throws   Exception  
  {  
  //检测  
  if(this.getIsNeedToRefreshByCtx())  
  {  
  this.refresh();  
  }  
  return   this.envMap;  
  }  
   
  public   void   refresh()   throws   Exception  
  {  
  CommonTools.log("Refresh   :"+this.getClass().getName());  
  Connection   conn   =   null;  
  Statement   sta   =   null;  
  ResultSet   rs   =   null;  
  this.envMap   =   new   HashMap();  
  try  
  {  
   
   
  conn   =   CommonTools.getConnection("dhrm.common.Proxy.dataSource.ProxyDataSource");  
  sta   =   conn.createStatement();  
  rs   =   sta.executeQuery("Select   *   from   STPARAMETER");  
  while(rs.next())  
  {  
  this.envMap.put(rs.getString("key"),rs.getString("value"));  
   
  }  
  CommonTools.setRefreshComplated(this.getClass());  
   
  }  
  catch(Exception   e)  
  {  
  System.out.println(e.toString());  
  e.printStackTrace();  
  throw   new   CommonEnvException("环境变量映射初始化失败");  
  }  
  finally  
  {  
  CommonTools.closeStatement(sta);  
  CommonTools.closeResultSet(rs);  
  CommonTools.closeConnection(conn);  
  }  
   
  }  
     
  /**  
    初始化对象包含的映射信息  
    */  
  public   void   init()   throws   Exception  
  {  
  Connection   conn   =   null;  
  Statement   sta   =   null;  
  ResultSet   rs   =   null;  
  this.envMap   =   new   HashMap();  
  try  
  {  
   
   
  conn   =   CommonTools.getConnection("dhrm.common.Proxy.dataSource.ProxyDataSource");  
  sta   =   conn.createStatement();  
  rs   =   sta.executeQuery("Select   *   from   STPARAMETER");  
  while(rs.next())  
  {  
  this.envMap.put(rs.getString("key"),rs.getString("value"));  
   
  }  
   
  }  
  catch(Exception   e)  
  {  
  System.out.println(e.toString());  
  e.printStackTrace();  
  throw   new   CommonEnvException("环境变量映射初始化失败");  
  }  
  finally  
  {  
  CommonTools.closeStatement(sta);  
  CommonTools.closeResultSet(rs);  
  CommonTools.closeConnection(conn);  
   
  }  
   
  }  
   
   
   
  }  
 
Top

3 楼zhangbaobin(保斌)回复于 2004-07-27 17:09:49 得分 0 调用的时候  
  SysCommonEnvMap     temp   =   SysCommonEnvMap   .getInstance();  
  temp.getXXXX();  
  如果想定时刷新,里面再加一个timer定时器就可以了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值