⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mmsdatagetter.java

📁 MM7彩信对接网关示例
💻 JAVA
字号:
/*
 * Created on 2005-3-4
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package com.rainbow.mms.appframe;

import java.util.List;
import java.util.TimerTask;

import org.apache.log4j.Logger;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.Transaction;

import com.rainbow.mms.common.CMCCMM7DeliverMsg;
import com.rainbow.util.tools.HibernateUtil;


/**
 * 定时从数据库中获得应该处理的Deliver消息
 * @author Rainbow mms group leader —— TrWorks
 */
class MMSDataGetter extends TimerTask {

	private Logger log = Logger.getLogger(MMSDataGetter.class);
	
	private int listMaxSize = 10;
	/**
	 * 构造函数
	 */
	public MMSDataGetter(){
		super();
	}
	
	/**
	 * Run
	 */
	public void run() {
		log.debug("定时从数据库中获取待处理的数据");

		try {
			// 如果队列中还有listMaxSize条没有处理,那么就先不添加
			if (MMSDataWorker.getDeliverListSize() > MMSServiceMain.getInstance().getWorkerNum()){
				log.debug("队列中尚有" + listMaxSize +"条消息没有处理完成,暂不读取新的数据加入到队列中.");
				return;
			}
			
			Session sess = HibernateUtil.currentSession();
			Criteria cr = sess.createCriteria(CMCCMM7DeliverMsg.class);
			List list = cr.list();
			// 向数据流日志中写入信息
			for (int i = 0; i < list.size(); i++){
				CMCCMM7DeliverMsg msg = (CMCCMM7DeliverMsg)list.get(i);
				
			}
			MMSDataWorker.addDeliverMsgToList(list);
			
			// 更新数据库中的Submit消息取出的次数
			Transaction tx = sess.beginTransaction();
			for (int i = 0; i < list.size(); i++) {
				CMCCMM7DeliverMsg msg = (CMCCMM7DeliverMsg) list.get(i);
				sess.delete(msg);
			}
			tx.commit();
		}
		catch(Exception e){
			e.printStackTrace();
		}
		finally{
			HibernateUtil.closeSession();
		}
	}
}

⌨️ 快捷键说明

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