b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

JAVA实现热加载配置文件(无需重新启动服务器以加载配置文件)

电脑杂谈  发布时间:2020-03-29 18:08:49  来源:网络整理

手机怎么打开ifly文件_手机上怎么打开exe文件怎么打开_ifly文件怎么打开

将文件的当前时间与上次修改时间进行比较,以确定是否需要再次读取文件,以便无需重新启动服务器即可获取修改后的参数.

软件包com.shp.util;

导入java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.util.Collection;

导入java.util.Properties;

公共类LoadConfigUtil {

公共静态属性属性;

公共静态文件文件;

public static long lastModifyTime;

///服务器启动时将配置文件加载到内存中

静态{

LoadConfigUtil.load(“ fileName”);

}

/ **

*读取配置文件ifly文件怎么打开,并将属性列表加载到Properties对象中. 记录文件的最后修改时间.

* @param pathName文件路径

* /

公共静态空载(字符串路径名){

properties = new Properties();

FileInputStream fis = null;

file = new File(pathName);

尝试{

fis =新的FileInputStream(文件);

properties.load(fis);

//获取文件的最后更新时间

lastModifyTime = file.lastModified();

手机怎么打开ifly文件_手机上怎么打开exe文件怎么打开_ifly文件怎么打开

}捕获(IOException e){

// TODO自动生成的捕获块

e.printStackTrace();

}最后{

尝试{

fis.close();

}捕获(IOException e){

// TODO自动生成的捕获块

e.printStackTrace();

}

}

}

/ **

*获取配置文件的所有值

*确定文件是否已被修改. 是的ifly文件怎么打开,重新读取配置文件并返回否,从属性中获取

* @param fileName配置文件路径

* @return

* /

公共静态字符串getAllValues(String fileName){

file = new File(fileName);

//判断文件是否已修改

if(file.lastModified()> lastModifyTime){

System.out.println(“文件已被修改,需要重新加载!”);

load(fileName);

}

集合值= properties.values();

String v = values.toString();

返回v;

手机怎么打开ifly文件_ifly文件怎么打开_手机上怎么打开exe文件怎么打开

}

/ **

*获取配置文件密钥的值

*确定文件是否已被修改. 是的,重新读取配置文件并返回否,从属性中获取

* @param键的键名

* @return

* /

公共静态String get(字符串键){

file = new File(“配置文件路径”);

//判断文件是否已修改

if(file.lastModified()> lastModifyTime){

System.out.println(“文件已被修改,需要重新加载!”);

load(“ pathName”);

}

返回properties.getProperty(键);

}

}

--------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ----------------

使用Quartz定期检查是否根据设置的时间间隔修改了配置文件. 如果已修改,请重新阅读

软件包com.shp.util;

导入java.util.Date;

导入org.quartz.CronScheduleBuilder;

导入org.quartz.JobBuilder;

导入org.quartz.JobDetail;

导入org.quartz.Scheduler;

import org.quartz.SchedulerException;

导入org.quartz.SchedulerFactory;

导入org.quartz.Trigger;

手机上怎么打开exe文件怎么打开_ifly文件怎么打开_手机怎么打开ifly文件

导入org.quartz.TriggerBuilder;

导入org.quartz.impl.StdSchedulerFactory;

导入com.shp.test.watchService.CronJob;

公共类RAMQuartzUtil {

公共静态无效startTask(字符串键,字符串值)抛出SchedulerException {

// 1.为Scheduler创建工厂

SchedulerFactory sf =新的StdSchedulerFactory();

// 2.从工厂获取调度程序实例

Scheduler scheduler = sf.getScheduler();

// 3.创建JobDetail

JobDetail jd = JobBuilder.newJob(CronJob.class).withDescription(“这是ram作业”). withIdentity(“ ramjob”,“ ramgroup”). build();

//将更多信息存储在jobDataMap中,易于在execute方法中获取

jd.getJobDataMap(). 放(键,值);

//任务运行时间,SimpleSchedle类型触发器有效

长时间= System.currentTimeMillis()+ 3 * 1000L; // 3秒后开始任务

Date startTime =新日期(时间); //将时间戳转换为标准时间// 4.创建触发器

//使用SimpleScheduleBuilder或CronScheduleBuilder

Trigger t = TriggerBuilder.newTrigger(). withDescription(“”). withIdentity(“ ramTrigger”,“ ramTriggerGroup”)

.startAt(startTime).withSchedule(CronScheduleBuilder.cronSchedule(“ 0/2 * * * *?”)). build();

// 5.注册任务和计时器

scheduler.scheduleJob(jd,t);

// 6.启动调度程序

scheduler.start();

}

}

--------------------------------------------------- -------------------------------------------------- ------------------------

软件包com.shp.test.watchService;

导入org.quartz.Job;

ifly文件怎么打开_手机上怎么打开exe文件怎么打开_手机怎么打开ifly文件

导入org.quartz.JobExecutionContext;

import org.quartz.JobExecutionException;

import com.shp.util.LoadConfigUtil;

公共类CronJob实现Job {

@Override

公共无效执行(JobExecutionContext上下文)引发JobExecutionException {

// TODO自动生成的方法存根

字符串值= context.getJobDetail(). getJobDataMap(). getString(“ fileName”);

//获取配置文件的所有值

字符串值= LoadConfigUtil.getAllValues(值);

//获取与配置文件相对应的密钥的值

字符串值= LoadConfigUtil.get(key);

System.out.println(“ values =” =“ + values);

}

}

--------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ---------------------

测试

软件包com.shp.test.watchService;

import org.quartz.SchedulerException;

import com.shp.util.LoadConfigUtil;

导入com.shp.util.RAMQuartzUtil;

公共类Demo3 {

私有静态字符串键=“ fileName”;

private static String value =“ E: \\ aa \\ config.ini”;

公共静态void主对象(字符串[] args)抛出InterruptedException,SchedulerException {

LoadConfigUtil.load(值);

RAMQuartzUtil.startTask(键,值);

}

}


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-156820-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 李志杰
        李志杰

        拉森”号驱逐舰为美“阿利·伯克”级导弹驱逐舰中的第32艘

      热点图片
      拼命载入中...