主题 : 同步问题
级别: 童生
UID: 43531
积分:17 加为好友
威望: 0 精华: 0
主题:2 回复:6
注册时间:2013-01-28
在线时长:0
1#   发表于:2013-02-01 02:57:54  IP:120.146.*.*
小研究了一下代码,感觉IPSeekerImpl会有同步问题,ip库文件打开后为类成员,如果有个2会话同时查询ip,又没有命中缓存map,这个时候读取文件会出问题吧(本身类成员就不是线程安全的,最致命的还是spring在默认情况下bean都是容器内单例的)

缓存map的设计也可能会有同步问题,这个map在init方法中直接实例化为HashMap,HashMap不是线程安全的,后面在读、写和命中判断的时候都没有做同步处理,这块建议使用ConcurrentHashMap,spring的PersistenceAnnotationBeanPostProcessor类中有非常经典的使用方法,可以参考一下

只是简单看了一下这个类,没有查看上层调用是否在类实例上做了同步,如果说的不对,见笑了
如果真有同步问题,希望能检查其他类是否有类似情况
1 共1页