同一个tomcat下的两个项目之间可以共用同一片ehcache缓存么?

鸡动个蛋 2015-01-05 10:36:34
情景如下:
A项目得到一个地理位置信息 需要在B项目中保存入库并且存入缓存
现在A不想去调B的接口去实现这个功能
A想在本地保存到ehcache缓存中 使用同一个cacheName 让B直接从机器中拿到相对应的缓存信息
可是现在B拿不到A的值
请问是需要其他的配置信息么?
现有配置信息如下
A:
<ehcache>

<diskStore path="java.io.tmpdir/i5xwxplus" />

<defaultCache
maxElementsInMemory="1000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
overflowToDisk="true" />
<cache
name="i5xwxplus"
maxElementsInMemory="50000"
eternal="false"
overflowToDisk="true"
timeToIdleSeconds="1800"
timeToLiveSeconds="1800"
diskPersistent="false"
memoryStoreEvictionPolicy="LFU" >

</cache>
</ehcache>

B和A一样
求大神指导!
...全文
792 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzzx081151 2015-05-26
  • 打赏
  • 举报
回复
lz是怎么配的,我也碰到这种需求了
zw794878174 2015-01-06
  • 打赏
  • 举报
回复
引用 9 楼 aazbc 的回复:
[quote=引用 6 楼 u011421154 的回复:] [quote=引用 5 楼 aazbc 的回复:] [quote=引用 2 楼 u011421154 的回复:] [quote=引用 1 楼 aazbc 的回复:] ehcache是进程内的,可以选择ehcache的存储方式为磁盘存储,持久化在本地,在B项目中从本地读取存储文件 其实选择memcached或redis缓存更方便
那请问ehcache有没有办法能够不读本地文件 而是通过配置或者代码的方式去访问同一个tomcat下的其他项目的缓存呢?[/quote] ehcache是进程内的,所以是无法通过配置实现的 [/quote]那3楼提到的rmi方式呢?我从网上找了一些资料,试着配置了一下,结果还是不行、是我配置的有问题还说说这个rmi就不是针对我这个业务情景的?[/quote] 用rmi做你这个确实有点大材小用(能不能做到我没试过,不过我了解rmi可不是做你这种需求的),可以用7楼说的方式, [/quote] 他的意思就是缓存数据要一致,看看ehcache集群,用单台的redis也是可以的
鸡动个蛋 2015-01-06
  • 打赏
  • 举报
回复
谢谢楼上各位,果然用rmi的方式是可以的。之前没有弄出来是太照葫芦画瓢,没有注意细节,最后终于是配置好了!谢谢各位!
野树林 2015-01-05
  • 打赏
  • 举报
回复
引用 2 楼 u011421154 的回复:
[quote=引用 1 楼 aazbc 的回复:] ehcache是进程内的,可以选择ehcache的存储方式为磁盘存储,持久化在本地,在B项目中从本地读取存储文件 其实选择memcached或redis缓存更方便
那请问ehcache有没有办法能够不读本地文件 而是通过配置或者代码的方式去访问同一个tomcat下的其他项目的缓存呢?[/quote] ehcache是进程内的,所以是无法通过配置实现的
鸡动个蛋 2015-01-05
  • 打赏
  • 举报
回复
引用 3 楼 zw794878174 的回复:
在两个jvm实例内部的缓存啊,直接做缓存同步,rmi的方式比较好配置
有没有相应的配置demo可以参考一下?谢谢!
zw794878174 2015-01-05
  • 打赏
  • 举报
回复
在两个jvm实例内部的缓存啊,直接做缓存同步,rmi的方式比较好配置
鸡动个蛋 2015-01-05
  • 打赏
  • 举报
回复
引用 1 楼 aazbc 的回复:
ehcache是进程内的,可以选择ehcache的存储方式为磁盘存储,持久化在本地,在B项目中从本地读取存储文件 其实选择memcached或redis缓存更方便
那请问ehcache有没有办法能够不读本地文件 而是通过配置或者代码的方式去访问同一个tomcat下的其他项目的缓存呢?
野树林 2015-01-05
  • 打赏
  • 举报
回复
ehcache是进程内的,可以选择ehcache的存储方式为磁盘存储,持久化在本地,在B项目中从本地读取存储文件 其实选择memcached或redis缓存更方便
野树林 2015-01-05
  • 打赏
  • 举报
回复
引用 6 楼 u011421154 的回复:
[quote=引用 5 楼 aazbc 的回复:] [quote=引用 2 楼 u011421154 的回复:] [quote=引用 1 楼 aazbc 的回复:] ehcache是进程内的,可以选择ehcache的存储方式为磁盘存储,持久化在本地,在B项目中从本地读取存储文件 其实选择memcached或redis缓存更方便
那请问ehcache有没有办法能够不读本地文件 而是通过配置或者代码的方式去访问同一个tomcat下的其他项目的缓存呢?[/quote] ehcache是进程内的,所以是无法通过配置实现的 [/quote]那3楼提到的rmi方式呢?我从网上找了一些资料,试着配置了一下,结果还是不行、是我配置的有问题还说说这个rmi就不是针对我这个业务情景的?[/quote] 用rmi做你这个确实有点大材小用(能不能做到我没试过,不过我了解rmi可不是做你这种需求的),可以用7楼说的方式,
鸡动个蛋 2015-01-05
  • 打赏
  • 举报
回复
引用 7 楼 yizhaorong 的回复:
一定非要用ehcache实现吗?可以考虑选择memcached或redis缓存更方便
也有这个考虑,主要是公司里没有会其他两个缓存的,ehcache倒是有相对比较熟悉的。。先看看这个能不能解决这个问题.....
yizhaorong 2015-01-05
  • 打赏
  • 举报
回复
一定非要用ehcache实现吗?可以考虑选择memcached或redis缓存更方便
鸡动个蛋 2015-01-05
  • 打赏
  • 举报
回复
引用 5 楼 aazbc 的回复:
[quote=引用 2 楼 u011421154 的回复:] [quote=引用 1 楼 aazbc 的回复:] ehcache是进程内的,可以选择ehcache的存储方式为磁盘存储,持久化在本地,在B项目中从本地读取存储文件 其实选择memcached或redis缓存更方便
那请问ehcache有没有办法能够不读本地文件 而是通过配置或者代码的方式去访问同一个tomcat下的其他项目的缓存呢?[/quote] ehcache是进程内的,所以是无法通过配置实现的 [/quote]那3楼提到的rmi方式呢?我从网上找了一些资料,试着配置了一下,结果还是不行、是我配置的有问题还说说这个rmi就不是针对我这个业务情景的?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧