就这个
如何动态修改spring配置文件
答案:3 悬赏:0 手机版
解决时间 2021-02-19 12:53
- 提问者网友:最美的风景
- 2021-02-18 23:41
我现在有这样一个需求:是要根据页面的配置来备份oracle数据库中的信息,页面上有按天,按周,按月来对数据库进行备份,目前我已在spring中配置文件中实现了数据备份但是不能动态来修改这个值:一下是我的spring配置文件:
0 * * * * ?
就这个0 * * * * ? 值想动态改变而不用从启服务器没有用struts,请问各位如何实现这个
就这个
最佳答案
- 五星知识达人网友:走死在岁月里
- 2021-02-18 23:55
这个很好实现啊,把这个表达式存数据库,当然每次启动的时候(服务器启动的时候)读一下配置文件
写个重启的方法:cronExpression这个从外面传进来
// 更新表达式把数据库的字段更新了
appTimeTaskConfigDAO.updateCronExpression(cronExpression);
String[] triggerNames = stdScheduler.getTriggerNames(stdScheduler.DEFAULT_GROUP);
String triggerName = triggerNames[0];
CronTrigger trigger = (CronTrigger) stdScheduler.getTrigger(triggerName, stdScheduler.DEFAULT_GROUP);
//设置trigger新的表达式
trigger.setCronExpression(cronExpression);
//重新启动新的trigger
stdScheduler.rescheduleJob(triggerName, stdScheduler.DEFAULT_GROUP, trigger);
写个重启的方法:cronExpression这个从外面传进来
// 更新表达式把数据库的字段更新了
appTimeTaskConfigDAO.updateCronExpression(cronExpression);
String[] triggerNames = stdScheduler.getTriggerNames(stdScheduler.DEFAULT_GROUP);
String triggerName = triggerNames[0];
CronTrigger trigger = (CronTrigger) stdScheduler.getTrigger(triggerName, stdScheduler.DEFAULT_GROUP);
//设置trigger新的表达式
trigger.setCronExpression(cronExpression);
//重新启动新的trigger
stdScheduler.rescheduleJob(triggerName, stdScheduler.DEFAULT_GROUP, trigger);
全部回答
- 1楼网友:第幾種人
- 2021-02-19 01:50
如果工程较大 ,可以写多个spring 配置文件,有利于代码的维护,只是这个要额外配置一下spring,
例如 myapp.xml,myuser.xml,mydata.xml 等这些配置文件放在web-inf下
在web.xml中就要添加
contextconfiglocation
/web-inf/my*.xml
org.springframework.web.context.contextloaderlistener
*号是匹配任意字符
- 2楼网友:何以畏孤独
- 2021-02-19 01:11
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯