@PostContruct是spring框架的注解,在方法上加该注解会在项目启动的时候执行该方法,也可以理解为在spring容器初始化的时候执行该方法。
业务场景
业务上有需求,需要我通过接口查询数据,将实时的gps数据接入,并保存到一个实时表,一个历史表,在编写代码的时候,我在想数据丢失了怎么办?
情况一:
对方的服务断掉,暂时没有办法
情况二:
我这边的java程序挂掉,我该怎么解决丢失数据这段时间的数据
思考
解决方法一:
启用一个job任务,每天去查询一次一整天的完整数据,在更新到数据库中,利用oracle的merge into 语句进行判断,有就更新,没有就插入,但是老大觉得没有必要
解决思路二:
利用了@PostConstruct注解,我创建了一个init方法,每次java程序重新运行的时候,我先去数据库查找我最后一条插入的数据,然后以数据库最后一条数据为起始时间,以当前时间为结束时间,查询我这程序挂掉的时间段内丢失的数据,尽量保证了我的数据完整性