根据文件日期进行文件排序

问题描述

由于进入生产环境,开发和部署人员不一致,下载的db文件放置到/data文件下,居然没有生效更新替换最新,
上述问题不常见,但是出现问题难排查。检查文件下面,会发现db文件项目已经越来越多了。

逻辑:同步获取db文件进行解析存放到缓存中,如果获取文件是旧的就没有生效了

考虑项目部署多样,运维任务备份方式不同,
防止下面错误的操作备份,导致数据缓存不是最新数据,引起排查不必要的问题,做了一个优化兼容
在这里插入图片描述

推荐方式

以前已上线的版本,需要注意此种备份方式

在这里插入图片描述

解决处理

下载db文件放置指定文件夹路径后,读取文件根据时间进行降序解析存入缓存,后续重复的则不覆盖。

特别说明:依据文件最新时间排序解析

	 /**
	 * 根据文件日期进行排序
	 *
	 * @param fliePath
	 * @return
	 */
	public static File[] orderByDate(String fliePath) {
		File file = new File(fliePath);
		if (!file.exists()) {
			//如果目录不存在则自动创建
			file.mkdirs();
		}
		File[] fs = file.listFiles();
		Arrays.sort(fs, new Comparator<File>() {
			@Override
			public int compare(File f1, File f2) {
				long diff = f2.lastModified() - f1.lastModified();
				if (diff > 0) {
					return 1;
				} else if (diff == 0) {
					return 0;
				} else {
					return -1;
				}
			}

			@Override
			public boolean equals(Object obj) {
				return true;
			}

		});
		return fs;
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

掘金者说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值