【问题标题】:Ehcache - Distributed RMI not workingEhcache - 分布式 RMI 不工作
【发布时间】:2010-03-03 13:30:51
【问题描述】:

我在 ehcache 2.0 中遇到了一个奇怪的问题,希望有人能帮助我。我已经建立了一个由两台主机 A 和 B 组成的集群。我可以看到两端都收到了心跳,所以我很确定网络和多播工作正常。问题是我将一个元素放入主机 A 的缓存中,我可以在主机 B 的日志中看到它接收到远程放置。但是当我从主机 B 请求相同的元素时,它会运行到数据库并执行查询。这可能是什么原因?感谢任何指点!

【问题讨论】:

    标签: hibernate distributed rmi ehcache multicast


    【解决方案1】:

    您是否使用 Hibernate 和 Ehcache 作为二级缓存?还是只是数据库上方的缓存?

    【讨论】:

      【解决方案2】:

      根据您的描述,您在 RMI 模式下运行 ehcache,并带有多播自动对等发现。听起来缓存事件通知也在起作用。这是我的猜测:

      根据您的配置中的过期设置,当您从主机 B“获取”时,该元素可能已过期。

      在文档中,http://ehcache.org/documentation/storage_options.html, 在内存使用、假脱机和过期策略下:

      当元素上存在 get 或 getQuiet 时,会检查它是否过期。如果过期,则将其删除并返回 null。

      您可以查看您的配置文件,检查永恒、timeToIdleSeconds 和 timeToLiveSeconds 的值。

      <cache name="sampleDistributedCache2"
             maxElementsInMemory="10"
             eternal="false"                         
             timeToIdleSeconds="100"
             timeToLiveSeconds="100"
             overflowToDisk="false"></cache>
      

      【讨论】:

        猜你喜欢
        • 2023-03-16
        • 1970-01-01
        • 1970-01-01
        • 2010-10-05
        • 1970-01-01
        • 1970-01-01
        • 2023-03-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多