【JAVA】【更新版本】当在上线新版时,又存在数据需要刷新的情况;就会导致部分接口是不能访问的,但又需要其他接口正常访问,可以在对应的接口加个版本时间限制访问。

266 阅读3分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第1天,点击查看活动详情

一、前言

  当我们在上线新版程序时,又存在数据需要刷新的情况;就会导致部分接口是不能访问的,但又需要其他接口正常访问。
  这时候我们可以在对应的接口加个版本时间限制访问。并且在此期间变为维护阶段,用户点击时,反馈是维护中。背后是在对数据进行刷新...

二、过程

首先,我们需要有的是,数据刷新完成时间,一定要数据刷新完成后的时间。也就是维护结束时间,等当前时间过了维护时间,就可以正常访问了~ 思路和代码比较简单,也有详细注释,就不过多陈述了,直接看代码吧~

三、详细讲解

定义一个上线时间

String NEW_VERSION_TIME = "2022-03-10 5:20:00"; 

获取当前时间

Date nowDate = new Date(); 

设置对应格式,用于转化

Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

获取现在的时间戳

cal.setTime(nowDate); 
long nowTimeNum = cal.getTimeInMillis();

塞入上线时间,获取对应时间戳(这里塞入时间是需要try catch的,可参考完整代码)

cal.setTime(sdf.parse(NEW_VERSION_TIME));
long versionTimeNum = cal.getTimeInMillis();

对比当前时间戳和上线时间戳,未达到则直接返回,不往下执行.

boolean isNew = versionTimeNum - nowTimeNum > 0 ? true : false; // 大于0说明当前请求在维护时间里
if (isNew) {
    System.out.println("当前正在维护哦!请在" + NEW_VERSION_TIME + "之后再试。");
    // 这时候数据库是有在刷新数据滴~
    return; // 退出接口
}

四、完整代码

	// 首先,上线新版程序时,让项目进行维护状态(在此期间变为维护阶段,用户点击时,反馈是维护中。背后是在对数据进行刷新)
	public static void main(String[] args) {
		// 新版上线时间,即维护时间(2022年3月10日 5点20分)
		String NEW_VERSION_TIME = "2022-03-10 5:20:00"; // 如果当前时间超过了维护时间,就能接口正常访问了
		Date nowDate = new Date();
		Calendar cal = Calendar.getInstance();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		cal.setTime(nowDate);
		long nowTimeNum = cal.getTimeInMillis();
		try {
			cal.setTime(sdf.parse(NEW_VERSION_TIME));
			long versionTimeNum = cal.getTimeInMillis();
			boolean isNew = versionTimeNum - nowTimeNum > 0 ? true : false; // 大于0说明当前请求在维护时间里
			if (isNew) {
				System.out.println("当前正在维护哦!请在" + NEW_VERSION_TIME + "之后再试。");
				// 这时候数据库是有在刷新数据滴~
				return; // 退出接口
			}
		} catch (Exception e) {
			System.out.println("出错啦!");
			e.printStackTrace();
		}
		System.out.println("已经维护结束啦,可以正常访问!");
		System.out.println("南方者 - 掘金");
		System.out.println("掘金博客地址:https://juejin.cn/user/2840793779295133");
	}

文章小尾巴

文章写作、模板、文章小尾巴可参考:《写作“小心思”》
  感谢你看到最后,最后再说两点~
  ①如果你持有不同的看法,欢迎你在文章下方进行留言、评论。
  ②如果对你有帮助,或者你认可的话,欢迎给个小点赞,支持一下~
  我是南方者,一个热爱计算机更热爱祖国的南方人。

  (文章内容仅供学习参考,如有侵权,非常抱歉,请立即联系作者删除。)