📄 cmppsenderserver.java
字号:
package com.fetion.cmpp.server.sender;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.quartz.CronExpression;
import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.impl.StdSchedulerFactory;
import com.fetion.cmpp.common.util.DateUtil;
import com.fetion.cmpp.server.util.Constants;
/**
* 短信发送的模块
* @author Administrator
*
*/
public class CmppSenderServer {
private Log log = LogFactory.getLog(CmppSenderServer.class);
private SchedulerFactory sf = new StdSchedulerFactory();
private Scheduler sched;
private String shedule_Expression ;
public CmppSenderServer() {
this(null);
}
public CmppSenderServer(String shedule_Expression) {
if(shedule_Expression != null)
this.shedule_Expression = shedule_Expression;
else
this.shedule_Expression = Constants.DEFAULT_SHEDULE_EXPRESSION;
}
public void run() throws Exception {
log.info("sender server starting .....");
sched = sf.getScheduler();
// define the job and tie it to our HelloJob class
JobDetail job = new JobDetail("senderJob", "senderGroup1", CmppSenderJob.class);
CronTrigger cronTrigger = new CronTrigger();
cronTrigger.setName("cronTrigger");
// setup CronExpression
CronExpression cexp = new CronExpression(shedule_Expression);
// Assign the CronExpression to CronTrigger
cronTrigger.setCronExpression(cexp);
// Tell quartz to schedule the job using our trigger
sched.scheduleJob(job, cronTrigger);
// computer a time that is on the next round minute
log.info(job.getFullName() + " will run at: " +DateUtil.getFormatDate(cronTrigger.getNextFireTime()));
// Start up the scheduler (nothing can actually run until the
// scheduler has been started)
sched.start();
log.info("sender server start completed !");
}
public void stop() {
// shut down the scheduler
if (sched != null) {
log.info("sender server Shutting Down ......");
try {
sched.shutdown(true);
} catch (SchedulerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
log.error("sender server Shutdown error !");
}
log.info("sender server Shutdown Complete !");
}
}
/**
* @param args
*/
public static void main(String[] args) {
try {
new CmppSenderServer().run();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -