我有一个java类,可以说'class1',它基本上包含一个ConcurrentHashMap(用作缓存)和一些更新和删除映射中条目的函数。这个类不是设计为单例类。我正在与一位同事讨论,但由于我在互联网上阅读了几篇帖子,我无法真正决定。我问是否可以这样做-
<bean id="reqrespCacheMgr1" class="gravity.applications.RFQService.reqrespgtwy.utility.ReqRespCacheManager" scope="singleton">
</bean>
<bean id="reqrespCacheMgr2" class="gravity.applications.RFQService.reqrespgtwy.utility.ReqRespCacheManager" scope="singleton">
</bean>
<bean id="reqrespCacheMgr3" class="gravity.applications.RFQService.reqrespgtwy.utility.ReqRespCacheManager" scope="singleton">
</bean>
我基本上是在尝试创建同一个类的 3 个单例实例。我认为它并没有真正破坏单例的含义,因为我们谈论的是 spring bean 工厂上下文中的单例范围,而不是类加载器上下文。我知道有其他方法可以做到这一点。就像在同一个类中有 3 个并发哈希映射并且只使用一个单例 bean 引用,通过尝试为同一个类中的 3 个映射创建更新和删除方法。
我希望我没有把它弄糊涂,但我只想知道哪种方法好。我担心我对设计模式的使用不当..
如果问题不清楚,请告诉我