📄 mmsdatagetter.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 + -