Web applications 在两个webapp之间共享Ehcache

Web applications 在两个webapp之间共享Ehcache,web-applications,rest,tomcat,jersey,ehcache,Web Applications,Rest,Tomcat,Jersey,Ehcache,我有两个webapp,一个是admin webapp,另一个是实际的webapp。对mysql存储的共享访问和Ehcache都用于缓存用户详细信息,以防止每个REST API请求对后端的用户查找命中 我的问题是,管理员应用程序可以用来(我很少会添加)更新用户凭据,比如说密码或用户名,或者更改一些授权级别等。现在,当这种情况发生时,我需要用户缓存失效或清除,这样,主webapp就可以在用户查找时点击数据库,将新用户的详细信息放入缓存 当前会发生这种情况,但清除缓存对主客户端webapp不可见 我如

我有两个webapp,一个是admin webapp,另一个是实际的webapp。对mysql存储的共享访问和Ehcache都用于缓存用户详细信息,以防止每个REST API请求对后端的用户查找命中

我的问题是,管理员应用程序可以用来(我很少会添加)更新用户凭据,比如说密码或用户名,或者更改一些授权级别等。现在,当这种情况发生时,我需要用户缓存失效或清除,这样,主webapp就可以在用户查找时点击数据库,将新用户的详细信息放入缓存

当前会发生这种情况,但清除缓存对主客户端webapp不可见

我如何在两个webapp(在jetty或tomcat中托管)之间共享ehcache??我目前正在使用Jetty,但计划切换到Tomcat

我正在使用Spring3、Jersey、Hibernate、MySQL和GoogleEhcache注释


感谢您的帮助。

Ehcache有一个可以部署为webapp的应用程序。这样,管理员和应用程序webapp都可以共享一个缓存。

这里有几个选项:

  • 您可以使用将应用程序加入到一个通知中 组,然后通知特定的缓存项 更新/失效。因此,在收到此类通知后,您的主要 web应用程序将更新其本地EhCache条目
  • 您可以将分布式缓存添加为EhCache 实现(它实际上不会更改代码,因为它只是 EhCache API后面的插头)。然后,您的EhCache变得分布式,所以 您的管理员web应用程序中所做的更改对您的实际用户可见 网络应用注意:陶土需要商业许可证
  • 您可以使用允许使用的EhCache,而不是使用EhCache
    在多个应用程序中有一个公共缓存。所以,你的生活发生了变化 管理员web应用对您的实际web应用可见。请参阅