当前位置: 首页 > 知识库问答 >
问题:

将Spring启动应用程序与远程兵马俑服务器/ Ehcache集成

陆甫
2023-03-14

我发现了很多展示如何在Spring Boot应用程序中集成Ehcache的例子,例如这里所描述的。就我对这个例子的理解,Ehcache本身是运行在Spring应用程序中的。

然而,我们的设置提供了一个Terracotta服务器作为“中央”缓存实例。不幸的是,到目前为止我还没有找到任何文档,如何告诉我的Spring Boot应用程序使用远程Terracotta服务器作为Ehcache。

你有什么例子或有用的信息吗?

共有1个答案

蒙峰
2023-03-14

如下定义tc config.xml

 <?xml version="1.0" encoding="UTF-8" ?>
    <tc:tc-config xmlns:tc="http://www.terracotta.org/config"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    
      <tc-properties>
        <property name="l2.nha.dirtydb.autoDelete" value="true"/>
        <property name="l1.cachemanager.enabled" value="true"/>
        <property name="logging.maxLogFileSize" value="1024"/>
      </tc-properties>
    
    
      <servers>
        
        <server host="localhost" name="localhost:9090" bind="0.0.0.0">
          <data>c:/server-data</data>
          <logs>c:/server-logs</logs>
          <index>c:/server-index</index>
          <tsa-port>9090</tsa-port>
          <jmx-port>9091</jmx-port>
          <tsa-group-port>9092</tsa-group-port>
            <dataStorage size="1g">
              <offheap size="1g"/>
            </dataStorage>
        </server>
        
    
        <client-reconnect-window>120</client-reconnect-window>
    
      </servers>
      
      <clients>
        <logs>C:\logs</logs>
      </clients>
      
    </tc:tc-config>

pom.xml的依赖性

<dependency>
  <groupId>net.sf.ehcache</groupId>
  <artifactId>ehcache</artifactId>
</dependency>

<dependency>
  <groupId>net.sf.ehcache</groupId>
  <artifactId>ehcache-terracotta</artifactId>
</dependency>

<dependency>
  <groupId>org.terracotta</groupId>
  <artifactId>terracotta-toolkit-runtime</artifactId>
</dependency>

应用程序属性

spring.cache.jcache.config=classpath:ehcache.xml

ehcache.xml

<terracottaConfig url="${pathOftc-config}" rejoin="true" />
 类似资料:
  • 我正在尝试配置兵马俑服务器以使用spring / mybatis应用程序,但我收到以下错误。我不确定这是否意味着密钥本身或从密钥返回的值无法序列化。缓存作为本地缓存工作正常,但现在尝试使用服务器时出现问题。我需要一个线索,为什么这不能被序列化。谢谢。 因此,我从《如何序列化Spring Bean (spring 3)》中得到一个线索,这可能与缺乏会话范围有关。这些错误发生在我启动Tomcat并且加

  • 我们在Grails环境中配置了ehcache,我正在尝试确定如何使用远程terracotta缓存配置本地缓存。 这个场景是,我们有一些计算成本最低的数据,并受益于本地内存缓存,但当使用远程terracotta缓存时,这种好处被最小化了。 配置目前非常简单: 问题是: > 鉴于上面的配置,这是否意味着缓存放置/获取将始终往返于兵马俑服务器? 在往返服务器之前,是否有可能使用本地“热”缓存的配置? 如

  • 我有一个建立在Spring启动基础上的后端,然后我学校的一些定制代码建立在这个基础上。前端是纯粹的角度应用程序,我从不同的服务器上通过一大口服务提供。他们只通过REST调用连接。 后端已经运行了一个身份验证模块,现在我需要从后端运行的同一tomcat服务器为这个角应用程序提供服务,这样它也可以使用这个身份验证模块。 我发现这是关于多个连接器的,所以我将其复制为以下类来设置多个连接器: 问题是我没有

  • 我在系统中运行了2/3个Java/Spring引导应用程序。我想使用通用存储,以便其他Java应用程序也可以使用任何其他Java /Spring启动应用程序生成的缓存。 我可以使用公共磁盘库在内存中创建ecache吗? 或者我应该在我的机器上运行独立的ehcache 所以,据我所知,看起来如果我们需要在服务器中运行,它应该在Terracotta服务器中。 但是,我更希望集中缓存,以便其他应用程序可

  • 在尝试运行Spring Temple项目时收到此错误消息不知道为什么?有什么建议吗? 这是来自控制台的完整日志 我对代码进行了任何修改,只是试图运行从Spring模板下载的应用程序

  • 我正在尝试将我的应用程序连接到 Terracotta 缓存群集,但我在使用我设置的配置启动应用程序时遇到问题。我在控制台中没有收到任何错误,但是如果我进行调试,则在尝试创建缓存管理器时会失败。 我得到的错误是这个。原因: java.lang.ClassNotfundException: net.sf.ehcache.config.TerracottaConfig配置 我正在使用冬眠4.x,Spri