简介
最近在为公司一个基础组件做性能优化,优化主要是通过使用hbase存储来替换mysql,考虑到只是针对于一张表(切换后日数据量超过亿条记录)做存储切换。为了上线过程中出现问题可以不用通过回滚版本的方式来进行紧急操作。我们采用开关的形式:全局开关和局部开关来对数据存储进行切换。
因为是灰度切换,因此会有一个存储方式过度并存的时间,同时部分数据必须保证能够获取到:根据id获取数据,因此写了一个公用的判断方法来做数据源判断。也就是在判断的过程中我遇到了值非空的NullPointerException
问题代码:当logId=null 时就会抛空指针异常
正确代码 :先判空在比较