管理单元新增组织报错ConcurrentHashMap空指针问题原创
金蝶云社区-Hadwin
Hadwin
1人赞赏了该文章 819次浏览 未经作者许可,禁止转载编辑于2020年09月12日 11:06:31

问题:管理单元新增组织报错:

image.png


报错堆栈如下:

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 ,故为运行期间时加载错误导致,更新最新引擎补丁即可。


赞 1