📄 cmppsenderjob.java.svn-base
字号:
package com.fetion.cmpp.server.sender;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import com.fetion.cmpp.common.Message;
import com.fetion.cmpp.common.util.DateUtil;
import com.fetion.cmpp.server.db.DBTool;
import com.fetion.cmpp.server.db.DBToolImp;
import com.sleepycat.je.DatabaseException;
/**
* 发送信息的作业类
* @author Administrator
*
*/
public class CmppSenderJob implements Job {
private Log logger = LogFactory.getLog(getClass());
private DBTool dbTool = new DBToolImp();
public void sendAllNewMessages() {
try {
dbTool.openDB();
Map<Long, Message> newMessages = dbTool.getAllNewMessages();
Map<Long, Message> sendMessages = new HashMap<Long, Message>();
if (newMessages != null && newMessages.size() > 0) {
Set<Long> keys = newMessages.keySet();
Message newMessage = null;
for (Long key : keys) {
newMessage = newMessages.get(key);
try {
if (CmppSender.send(newMessage)) {
sendMessages.put(key, newMessage);
String[] tels = newMessage.getDestinationTelNumber();
for(String tel : tels)
logger.info("已成功发送" +tel);
}
} catch (CMPPProcessException e) {
// TODO Auto-generated catch block
logger.error(e.getLocalizedMessage());
e.printStackTrace();
}
}
dbTool.remarkHadSendMessages(sendMessages);
logger.info("已成功发送" + sendMessages.size() + "条");
}else{
logger.info("没有待发信息!");
}
dbTool.closeDB();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (DatabaseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void execute(JobExecutionContext arg0) throws JobExecutionException {
logger.info("all new messages sending at "
+ DateUtil.getFormatDate(new Date()));
sendAllNewMessages();
logger.info("all new messages sended at "
+ DateUtil.getFormatDate(new Date()));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -