时区不一致导致spring应用异常
jar包换台服务器就跑不出数据,观察到主机命令date显示的时间正常,但日志时间却是8小时之前(昨晚),正好应用获取数据是查最近1小时的数据:
select distinct batch_id from sms where status='0' and now() between timing and timing+(timeout || 'sec')::INTERVAL
猜测问题在这,查了下发现JVM启动时读区的时区文件与系统的不一致,再看看主机的/etc/localtime竟指向了纽约:lrwxrwxrwx. 1 root root 38 Nov 17 2020 /etc/localtime -> ../usr/share/zoneinfo/America/New_York
按照https://www.cnblogs.com/krock/p/15476405.html的方法,修改时区文件(ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime)后应用正常。