mocache.java

来自「短信系统SMS:支持普通短信、长短信和wap push短信的发送。」· Java 代码 · 共 68 行

JAVA
68
字号
package com.ekun.biz.sms;

import java.util.Vector;

import com.ekun.biz.vo.MoVO;
import com.ekun.biz.dao.MoDAO;
import com.ekun.common.log.Logger;
import com.ekun.common.log.LoggerFactory;
/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: </p>
 *
 * @author ekun
 * @version 1.0
 */
public class MoCache implements Runnable
{
  private static Logger logger = LoggerFactory.getLogger(MoCache.class);
  private Vector vctMo = new Vector();
  private static MoCache instance = new MoCache();;
  private boolean allowRun = true;

  private MoCache()
  {
  }
  public static MoCache getInstance()
  {
    return instance;
  }
  public void put(MoVO vo)
  {
    synchronized(vctMo)
    {
      vctMo.add(vo);
    }
  }
  public void run()
  {
    MoVO vos[];
    MoDAO dao = new MoDAO();
    while(allowRun)
    {
      try{ Thread.currentThread().sleep(1000);} catch(Exception ex){}

      synchronized(vctMo)
      {
        vos = (MoVO[]) vctMo.toArray(new MoVO[0]);
        vctMo.clear();
      }
      try
      {
        if(vos.length > 0)
          logger.debug("有[" + vos.length + "]条MO数据准备写入DB...");
      }catch(Exception ex){};
      dao.batchInsert(vos);
    }
  }
  public static void main(String[] args)
  {
    MoCache mocache = new MoCache();
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?