Java Web服务中的Singleton对象

Java Web服务中的Singleton对象,第1张

Java Web服务中的Singleton对象

JAX-WS Web服务本身就是Singleton。这意味着将使用单个Web服务实例(如Servlet)处理所有请求

因此,该类的任何成员将在所有请求之间“共享”。就您而言,您无需使成员(即couponMap)成为静态属性。

结论: 不用担心,您的所有线程(请求)都将访问相同的“
couponMap”。因为不再需要

getCouponMapCreationTime
了,所以我认为您可以消除
SingletonMap
抽象并直接在Web服务类中使用Map。

但是我要补充一些非常重要的内容。如果有多个线程(请求)将访问您的地图,则必须使其成为线程安全的!!!有很多方法可以做到这一点,但是我将给出一个想法:使用a

ConcurrentHashMap
代替a
HashMap
。这将使您所有的
get(), put(),remove()
*** 作都是线程安全的!如果需要更大的作用域,则可以使用同步块,但是请避免使用同步方法,因为瓢太大,并且始终在
this
对象上进行同步。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5054473.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存