管理单元新增组织报错ConcurrentHashMap空指针问题原创
1人赞赏了该文章
819次浏览
编辑于2020年09月12日 11:06:31
问题:管理单元新增组织报错:
报错堆栈如下:
Caused by: java.lang.NullPointerException
at java.util.concurrent.ConcurrentHashMap.putVal(ConcurrentHashMap.java:1011)
at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:1006)
at com.kingdee.bos.dao.ormCacheService.ORMCacheUtil.updateObjIDFlag(ORMCacheUtil.java:388)
at com.kingdee.bos.dao.ormCacheService.ORMCacheUtil.removeInfo(ORMCacheUtil.java:231)
原因分析: ConcurrentHashMap 、HashMap在设计时要求key,value不能为空,HashTable是都可以为空。但使用Map存储效率更高,ConcurrentHashMap 较HashMap线程安全。检查代码后发现value不能为空,故只可能key为空导致报错,处理措施对传进来来的key进行非空校验
处理措施:EAS85版本植入对应补丁:PT148743 ,EAS8.2也会报空指针,但82设计时没有采用ConcurrentHashMap ,故为运行期间时加载错误导致,更新最新引擎补丁即可。
推荐阅读