问题标签 [ehcache-3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
139 浏览

ehcache - 根据我的要求,在 ehcache 嵌入式、独立、带兵马俑或不带兵马俑的服务器中选择哪种类型

我有 2/3 Java/spring-boot 应用程序在系统中运行。我想使用公共存储,以便其他 java 应用程序也可以使用任何其他 Java/spring-boot 应用程序生成的缓存。

我可以使用普通磁盘存储在内存中创建 ehcache

或者我应该在我的机器上运行一个独立的 ehcache 并在所有应用程序中使用它

所以,据我所知,如果我们需要在服务器中运行,它应该在兵马俑服务器中,兵马俑服务器有助于分发

但是,我更想集中缓存,以便其他应用程序可以使用公共缓存

所以,我想我需要不用兵马俑

或者是否有任何其他缓存供应商支持我的用例?

0 投票
2 回答
9054 浏览

java - Spring Boot 2.0 Hibernate 5 EhCache 3 与 JCache

我正在尝试使用 EhCache 作为二级缓存设置 Hibernate,但 TTL 不起作用。

这是我的依赖项:

这是我的 YAML 配置:

这是我的 Entity 类的配置方式:

以及实体的 JpaRepository:

我已将缓存配置为在 2 秒后过期,但调用findByName仍然使用缓存(第一个之后没有打印 SQL 查询)。

这是ehcache.xml文件:

编辑: 我做了一些调试。我在以下位置添加了一个断点org.ehcache.jsr107.ExpiryPolicyToEhcacheExpiry

由于某种原因,此持续时间是无限的。那么也许配置没有正确设置?我知道正在读取 xml,因为当我使其无效时(例如,通过删除堆标签)我得到一个错误。

在此处输入图像描述

0 投票
1 回答
263 浏览

java - 使用 Ehcache 时出现 ClosedChannelException 异常

我在使用 Ehcache 时遇到问题。它通常工作正常,但偶尔我在尝试访问缓存时会收到 ClosedChannelException,一旦发生这种情况,我只能通过重新创建缓存来解决问题

这是我的课

这是堆栈跟踪

我不明白为什么会发生,我的第一个想法是我应该修改

但是为什么缓存永远是空的?

我的第二个想法是存在一些多线程问题,但我认为 Ehcache 是线程安全的?

0 投票
1 回答
34 浏览

hibernate - 如何缓存不存在的实体

我正在使用带有 ehcache 3.7 的休眠 5.3.7,我想缓存不存在的实体。

例子:

我尝试通过 id 10 查找实体,如果它不存在,它应该返回 null/Optional.empty() 直到缓存被驱逐。

这样做的原因是我们将用户消息存储在数据库中,使用区域特定语言回退到父语言。

例子:

如果我请求该button.accept语言的消息es_PA并且它不存在,我应该返回该语言的消息es

因此,很可能会收到对不存在但应该缓存的实体的请求。

我目前的配置是这样的:

并且实体类注释为:

PS:我也在用Spring boot 2.1.3

0 投票
0 回答
104 浏览

spring - spring-MVC 应用程序中 Spring-cache.xsd 的依赖关系

我正在尝试使用 Ehcache 实现缓存并在 mvc-dispatcher-servlet.xml 中进行以下配置

但是在尝试调用 REST API 时出现“内部服务器错误”。

当我单击“ http://www.springframework.org/schema/cache/spring-cache.xsd ”时,它在 Eclipse Web 浏览器中显示 HTTP 404 错误,这是问题吗?

我该如何解决这个问题?

0 投票
0 回答
51 浏览

spring - 调用 REST API 会导致内部服务器错误,如何调试?

我有我构建的 Spring MVC 应用程序。输出或工件是 WAR 文件。WAR 文件在 WildFly 中成功部署。但是当我调用 API 时,它会抛出内部服务器错误。在我所做的更改下方,在此更改之前,API 调用工作正常。

mvc-调度程序-servlet.xml

pom.xml

可能是什么错误?如何调试并查看导致错误的原因?我看不到任何与此相关的日志文件。

0 投票
1 回答
330 浏览

osgi - 多次安装项目时,ehcache-clustered 在 OSGi 中不起作用

在 osgi/aem 中遇到集群 ehcache 问题。只有第一个项目构建/安装它工作正常,但第二个构建/安装它停止工作,产生很多错误。看起来 terracotta 连接、cachemanager 或第三个东西没有正确关闭。

即使在删除捆绑包后,它也会尝试连接到 terracotta。

好的日志,日志中的错误

我在 osgi 中将 ehcache 和 ehcache-clustered 作为独立包安装。还尝试将它们嵌入我的包中。Ehcache 和 ehcache-clustered 设置为依赖项,也尝试使用 org.apache.servicemix.bundles.javax-cache-api (嵌入,不确定是否需要)

第一次所有 ehcache 和 ehcache 集群服务都处于活动状态,第二次满意。

Ehcache 包ehcache 集群包javax-cache-api 包我的项目包

pom.xml

我厌倦了作为独立 java 应用程序的相同代码,它工作得非常好(https://github.com/ehcache/ehcache3-samples/blob/master/clustered/src/main/java/org/ehcache/sample/ClusteredXML.java )

所以不确定我错过了什么(依赖项,导入包..)?

ehcache 配置兵马俑配置

0 投票
1 回答
586 浏览

java - @cacheable 不适用于 Spring Boot。使用 ehcache3

*Ehcache3 不适用于 spring boot - 我尝试了下面给出的方法。Spring boot 从不缓存组件中提到的值。它被调用 n - 无论缓存是否启用,都不会被调用。在日志中,它显示缓存已添加到缓存管理器中,但此处并非如此

ehcache.xml

在我的 pom.xml 我有以下配置 -

启动 Spring Boot 应用程序的 Application.java

用于缓存的组件类 -

我通过在应用程序中添加组件扫描尝试了几种方法,但没有成功。

Spring boot 启动,它显示缓存已添加到缓存管理器。

0 投票
1 回答
72 浏览

java - 如何使用spring boot在ehcache3中存储键和值

我想使用 springboot 将键和值存储在 ehcache3 中。我想将键存储为“passportNumber”,将值存储为“名称”,类似于 java 中的 Hashmap 稍后一旦缓存,如何从 passportNumber 中检索值。

我是新手ehcache-3,我需要一些代码。我没有在网站上找到任何示例,也没有通过谷歌搜索。

0 投票
1 回答
72 浏览

ehcache - Ehcache 3:正在写入的键是否被锁定?

假设我们有一个带有CacheLoaderWriter的缓存,所以我们注册到 events:writewriteAll

这些钥匙当时的状态如何?

即如果另一个线程尝试这样做cache.get(keyThatBeingWritten),它会被阻塞直到write()/writeAll()操作退出吗?