Java ehcache是否对所有客户端使用相同的缓存

Java ehcache是否对所有客户端使用相同的缓存,java,ehcache,Java,Ehcache,我正在尝试使用ehcache。对于两个不同的用户,我的Web服务创建了不同的缓存,就像会话一样。我是否可以创建与上下文概念相同的单个缓存?实例化EhCache CacheManager(这是获取缓存对象引用的第一步)时,每个EhCache API有几个选项: “传统”对象构造函数:新建CacheManager()。正如API页面中所解释的,“此方法不作为单例。调用方必须维护自己对它的引用。” 静态构造函数:CacheManager.create()。这个创建方法的作用就像一个单例,这意味着您可以

我正在尝试使用ehcache。对于两个不同的用户,我的Web服务创建了不同的缓存,就像会话一样。我是否可以创建与上下文概念相同的单个缓存?实例化EhCache CacheManager(这是获取缓存对象引用的第一步)时,每个EhCache API有几个选项:

  • “传统”对象构造函数:新建CacheManager()。正如API页面中所解释的,“此方法不作为单例。调用方必须维护自己对它的引用。”
  • 静态构造函数:CacheManager.create()。这个创建方法的作用就像一个单例,这意味着您可以为每个请求或会话调用CacheManager.create(),它将始终返回相同的CacheManager
  • 由于您没有提供任何关于实现的细节,我只能假设您(无论是否知情)正在为每个服务请求或会话创建一个新的CacheManager对象(),这将解释您注意到的行为


    如果您使用单例概念来创建CacheManager(方法2),那么您确实会创建一个CacheManager+获取一个对缓存对象的引用,该对象在实例化EhCache CacheManager时可以跨线程访问(请求、会话等)

    (这是获取缓存对象引用的第一步)每个EhCache API有几个选项:

  • “Traditional”对象构造函数:new CacheManager()。如API页中所述,“此方法不作为单例。调用方必须维护自己对它的引用。”
  • 静态构造函数:CacheManager.create()。此创建方法作为单例,这意味着您可以为每个请求或会话调用CacheManager.create(),并且它将始终返回相同的CacheManager
  • 由于您没有提供任何关于实现的细节,我只能假设您(无论是否知情)正在为每个服务请求或会话创建一个新的CacheManager对象(),这将解释您注意到的行为

    如果您使用单例概念来创建CacheManager(方法2),那么您确实会创建一个CacheManager+获取一个对缓存对象的引用,该对象可以跨线程访问(请求、会话等)