建立java工程并导入相关jar包,如下所示
完整案例代码如下:
==============JavaEnvironment.java=========================
package com.obtk.entitys;
import java.io.Serializable;
/**
* 实体类,保存java运行环境信息
* @author Administrator
* 20160528
*/
public class JavaEnvironment implements Serializable{
private static final long serialVersionUID = 1L;
private String userName; //当前登录用户名
private String osName; //操作系统名
private String osVersion; //操作系统版本
private String osJaGou; //操作系统架构
private String javaFactory; //JAVA的厂商名
private String javaVersion; //JAVA的版本号
private String userHome; //当前登录用户的主目录
private String totalMemory; //当前JVM的总内存
private String maxMemory; //当前JVM最大可用内存
private String freeMemory; //当前JVM可用的空闲内存
private String clientHostName; //主机名
private String clientIP; //ip地址
public String getClientHostName() {
return clientHostName;
}
public void setClientHostName(String clientHostName) {
this.clientHostName = clientHostName;
}
public String getClientIP() {
return clientIP;
}
public void setClientIP(String clientIP) {
this.clientIP = clientIP;
}
public String getFreeMemory() {
return freeMemory;
}
public void setFreeMemory(String freeMemory) {
this.freeMemory = freeMemory;
}
public String getJavaFactory() {
return javaFactory;
}
public void setJavaFactory(String javaFactory) {
this.javaFactory = javaFactory;
}
public String getJavaVersion() {
return javaVersion;
}
public void setJavaVersion(String javaVersion) {
this.javaVersion = javaVersion;
}
public String getMaxMemory() {
return maxMemory;
}
public void setMaxMemory(String maxMemory) {
this.maxMemory = maxMemory;
}
public String getOsJaGou() {
return osJaGou;
}
public void setOsJaGou(String osJaGou) {
this.osJaGou = osJaGou;
}
public String getOsName() {
return osName;
}
public void setOsName(String osName) {
this.osName = osName;
}
public String getOsVersion() {
return osVersion;
}
public void setOsVersion(String osVersion) {
this.osVersion = osVersion;
}
public String getTotalMemory() {
return totalMemory;
}
public void setTotalMemory(String totalMemory) {
this.totalMemory = totalMemory;
}
public String getUserHome() {
return userHome;
}
public void setUserHome(String userHome) {
this.userHome = userHome;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String toString(){
return userName+" \""+
osName+"\" "+
osVersion +" "+
osJaGou +" "+
userHome +" "+
clientHostName+" "+
clientIP+" \n"+
javaFactory +" "+
javaVersion +" "+
totalMemory +" "+
maxMemory +" "+
freeMemory+"\n-----------这是分隔线---------------\n"
;
}
}
===============EnvCheckService.java====================
package com.obtk.dao;
import java.net.InetAddress;
import java.net.UnknownHostException;
import com.obtk.entitys.JavaEnvironment;
public class EnvCheckService {
public void printEnv(){
try {
JavaEnvironment javaInfo=new JavaEnvironment();
javaInfo.setUserName(System.getProperty("user.name"));
javaInfo.setOsName(System.getProperty("os.name"));
javaInfo.setOsVersion(System.getProperty("os.version"));
javaInfo.setOsJaGou(System.getProperty("os.arch"));
javaInfo.setJavaFactory(System.getProperty("java.vendor"));
javaInfo.setJavaVersion(System.getProperty("java.version"));
javaInfo.setUserHome(System.getProperty("user.home"));
javaInfo.setTotalMemory((Runtime.getRuntime().totalMemory())/1024.0/1024.0+"mb");
javaInfo.setMaxMemory(Runtime.getRuntime().maxMemory()/1024.0/1024.0+"mb");
javaInfo.setFreeMemory(Runtime.getRuntime().freeMemory()/1024.0/1024.0+"mb");
javaInfo.setClientIP(InetAddress.getLocalHost().getHostAddress());
javaInfo.setClientHostName(InetAddress.getLocalHost().getHostName());
System.out.println(javaInfo);
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}
==================EnvCheckJob.java=================
package com.obtk.jobs;
import java.util.List;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import com.obtk.dao.EnvCheckService;
import com.obtk.dao.TaskDao;
import com.obtk.entitys.TaskEntity;
public class EnvCheckJob implements Job{
private EnvCheckService checkServ;
public void setCheckServ(EnvCheckService checkServ) {
this.checkServ = checkServ;
}
public void execute(JobExecutionContext arg0) throws JobExecutionException {
setCheckServ(new EnvCheckService());
checkServ.printEnv();
}
}
测试类
package com.obtk.test;
import java.util.Date;
import org.quartz.CronTrigger;
import org.quartz.JobDataMap;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleTrigger;
import org.quartz.impl.StdSchedulerFactory;
import com.obtk.jobs.DaJiaJob;
import com.obtk.jobs.EnvCheckJob;
public class TestCheckJob {
public static void main(String[] args) {
try {
//创建一个任务
JobDetail job=new JobDetail("remind task", "group2", EnvCheckJob.class);
//创建一个crontrigger
//创建一个触发器,每隔3s执行一次,重复4次,总共执行5次
SimpleTrigger simTrig=new SimpleTrigger("dajiaTrig",4, 3000);
//1s钟之后启动
simTrig.setStartTime(new Date(System.currentTimeMillis()+1000));
//得到调度者工厂
SchedulerFactory factory=new StdSchedulerFactory();
//由工厂得到调度者对象
Scheduler sched=factory.getScheduler();
//调度任务执行
sched.scheduleJob(job, simTrig);
sched.start();//启动一个单独线程
Thread.sleep(15000); //睡眠15秒
sched.shutdown();
System.out.println("main方法结束了");
} catch (SchedulerException e) {
e.printStackTrace();
}catch (Exception e) {
e.printStackTrace();
}
}
}