【问题标题】:Grails 2.1.1 with Terracotta and Ehcache integrationGrails 2.1.1 与 Terracotta 和 Ehcache 集成
【发布时间】:2013-01-06 18:05:48
【问题描述】:

我正在尝试将 Grails 2.1.1 与 Terracotta 和 Ehcache 集成,但我没有得到任何好的结果。

谁能给我一些建议来配置它?我有点困惑。

【问题讨论】:

    标签: ehcache terracotta grails-2.1


    【解决方案1】:

    现在正在处理主题。 首先在您的grails-app/conf 目录中创建ehcache.xml。它应该是这样的:

    <ehcache>                                                                                                                                                                                                                                      
    
     <terracottaConfig url="vm4:9510"/>                                                                                                                                                                                                           
    
      <defaultCache                                                                                                                                                                                                                                
          maxElementsInMemory="50"                                                                                                                                                                                                                 
          eternal="false"                                                                                                                                                                                                                          
          timeToIdleSeconds="20"                                                                                                                                                                                                                   
          timeToLiveSeconds="20"                                                                                                                                                                                                                   
          overflowToDisk="false"                                                                                                                                                                                                                   
          diskPersistent="false"                                                                                                                                                                                                                   
          memoryStoreEvictionPolicy="LRU"                                                                                                                                                                                                          
           />                                                                                                                                                                                                                                       
    
       <cache name="processedUrlCache"                                                                                                                                                                                                              
             maxElementsInMemory="50000"                                                                                                                                                                                                           
             eternal="true">                                                                                                                                                                                                                       
          <terracotta />                                                                                                                                                                                                                             
       </cache>                                                                                                                                                                                                                                     
    
    </ehcache> 
    

    请考虑 terracottaConfig url 应该指向您的实际主机:Terracotta server 所在的端口。确保您的 tarracotta 缓存节点具有 &lt;terracotta/&gt; 子节点(类似于我的 processUrlCache 条目)。

    现在,将这 3 个 jar 放入您的项目 lib 目录: ehcache-core-ee-2.6.2.jarehcache-terracotta-ee-2.6.2.jarterracotta-toolkit-1.6-runtime-ee-5.2.0.jar

    实际版本可能不同(但它应该与您的terracotta 服务器上的完全相同,因此我的建议是从服务器 lib 目录中获取这些 jar)。

    现在,运行您的服务器(start-tc-server.shstart-tc-server.bat,具体取决于 Unix/Windows 平台)并运行您的 grails 应用程序。首先,我建议您在 Config.groovy 文件中启用调试日志,方法是:

    debug 'net.sf.ehcache'
    

    进入您的log4j 部分。

    让我知道对你有帮助吗。

    【讨论】:

    • 嘿@archer,你在这方面取得了更多的进展/经验吗?目前正在研究这样的设置,不得不承认很难找到好的文档!
    • 您在寻找什么样的文档?
    • 嘿弓箭手!谢谢你回到我身旁。我设法设置了分布式二级缓存,包括。现在分享会话。但是有一点我觉得很不方便,也许你给我一个提示:你是如何处理在本地环境中工作的?我真的不想在所有本地机器上设置一个兵马俑实例。你怎么做呢?只需删除配置?
    • 我已经设置了一个远程 terracota 实例并将其位置硬编码到在本地开发环境中工作的所有 ehcache.xml 文件中。很简单,伙计;)
    • 没错,在此期间这样做了。剩下的问题是使用“-noreloading”选项运行 grails。就我而言,这对开发非常不方便。还有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-21
    相关资源
    最近更新 更多