问题标签 [ehcache]

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 投票
4 回答
16629 浏览

java - Spring上下文属性-占位符ehcahe配置

我有一个带有这个的 spring 上下文 xml 文件

目标是允许客户像这样编辑属性文件

然后在实际的 cacheConfig.xml 文件中有这个

这样我们不希望客户更改的项目不会被暴露。当然,上述细节只是部分详细,并不起作用。目前我在日志文件中看到了这个

提前致谢...

0 投票
2 回答
4371 浏览

caching - 我可以下载任何 ehcache 独立示例项目吗?

阅读 ehcache 用户指南http://ehcache.org/EhcacheUserGuide.html#id.s20时,我有点不知所措。我试图弄清楚如何设置一个具有分布式缓存的简单 ehcache 应用程序。我想多次运行该应用程序并让它在多个实例之间共享缓存。

有没有我可以下载并运行的示例应用程序来做到这一点?我知道有多种分布式缓存机制。为每个获取示例应用程序会很好,但我会满足于只拥有一个使用任何分布式缓存机制的示例应用程序。

0 投票
6 回答
22563 浏览

database - 当另一个进程修改数据库时休眠二级缓存失效

我们有一个应用程序使用 Hibernate 的二级缓存来避免数据库命中。

我想知道当外部进程(例如 MySQL 管理员)直接连接到修改数据库(更新/插入/删除)时,是否有一些简单的方法可以使 Java 应用程序的 Hibernate 二级缓存无效。

我们使用EHCache作为我们的二级缓存实现。

我们混合使用@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) 和@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE),并且我们没有使用每个实体上的时间戳启用乐观并发控制。

SessionFactory 包含管理二级缓存的方法: -管理缓存

但是因为我们使用@Cache 注释单个实体类,所以我们没有中心位置可以“可靠地”(例如,没有手动步骤)将其添加到列表中。

Hibernate 的二级缓存没有真正的方法知道数据库中的实体已更改,除非它查询该实体(这是缓存保护您免受的)。因此,也许作为一种解决方案,我们可以简单地调用一些方法来强制二级缓存驱逐所有内容(同样由于缺乏锁定和并发控制,您可能会在进行中的事务中“读取”或更新陈旧数据)。

0 投票
5 回答
12400 浏览

hibernate - @Cache 注解使用错误

我添加了以下注释以启用对我的 EJB3 实体之一的缓存,以使用 ehCache 测试缓存,其中我使用 Hibernate 作为持久性提供程序:

我将以下内容添加到 persistence.xml:

当我尝试编译时,出现以下错误:

/persistence/F.class):警告:在“org.hibernate.annotations.Cache”类型中找不到注释方法“usage()”:找不到 org.hibernate.annotations.Cache 的类文件编译器发生异常(1.6.0_16)。在检查 Bug Parade 是否有重复项后,请在 Java 开发人员连接 ( http://java.sun.com/webapps/bugreport ) 提交一个错误。在报告中包含您的程序和以下诊断。谢谢你。com.sun.tools.javac.code.Symbol$CompletionFailure:找不到 org.hibernate.annotations.CacheConcurrencyStrategy 的类文件

谁能在这里帮助我,让我知道我现在需要做什么或做错了什么?

0 投票
1 回答
1353 浏览

java - 具有 ehcache 空值的 Seam 缓存提供程序

我正在尝试按照 jboss 页面的教程配置 seam/ehcache:

http://docs.jboss.org/seam/2.1.2/reference/en-US/html/cache.html

我将 ehcache.1.2.3.jar 放入 project.ear/lib 并按照指定注入 CacheProvider,但 CacheProvider 始终返回 null。该文档没有显示 ehcache 的任何附加配置,仅适用于 jboss 缓存。

我可能做错了什么,不可能这么容易:)。

除了将 jar 放入 /lib 之外,我还创建了以下接缝组件进行测试:

谢谢

0 投票
1 回答
2129 浏览

ehcache - 通过缓存键查找时出现 EHCache 错误

我在 WebLogic 9.1 实例上运行的 webapp 上使用 EHCache 1.5.0。在从缓存中获取元素或检查缓存中是否存在项目时,偶尔会遇到以下错误。有没有其他人看到这个问题?有关如何解决此问题的任何建议都会很棒。

导致此问题的代码:

ehcache 配置:

我正在使用 Spring 来获取 CacheManager 的实例,这是我的 bean 定义:

错误如下:

日志中没有其他内容表明在缓存中查找键时出现 NullPointerException 的原因。

任何有关如何解决此问题的指示和建议将不胜感激。这不会始终如一地发生,似乎在一个环境中随机发生。

0 投票
8 回答
46760 浏览

java - ehcache 持续存在磁盘问题

我想用 Java 中的 ehcache 做一些我认为应该非常简单的事情,但是我已经花了足够的时间让自己对文档感到沮丧......

  1. 将值写入磁盘持久缓存。关闭。

  2. 再次启动并读取该值。

这是我的Java函数:

这是我的缓存配置(ehcache.xml):

即使我在第一次运行后看到磁盘上的 test.index 和 test.data 文件,这个函数的输出总是如下(它似乎从不从磁盘加载缓存):

未找到缓存。创建缓存...
缓存到磁盘。磁盘上的缓存大小:2

我一定是在做一些愚蠢的事情,但我不确定是什么!

0 投票
2 回答
1198 浏览

java - hibernate ehcache 只找到集合的 1 个元素

所以,我真的很想在这里寻找想法。(另请注意:这是一个间歇性问题)

我有一个带有“子”对象集合的“父”对象:

<parent stuff>
...
<set name="children" inverse="true" order-by="child_id">
<cache usage="read-write"/>
<key column="parent_id"/>
<one- to-many class="ChildClass"/>
</set>
...
</parent>

<child stuff>
...
<many-to-one name="parent"
column="parent_id"
insert="true"
更新="true"
非空="true"
类="ParentClass"
index="idx​​_child_parent"/> ...
</child>

如果我运行如下查询:“从 ChildClass 中选择子项”+“其中 child.parent = :parent”;它找到所有的孩子。完美的。

但是,如果我搜索父对象(并找到它),hibernate 会通过并创建我的 ParentClass,但只填充一个(第一个)孩子的孩子。我实际上调试了休眠代码,发现实际上对 ParentClass 上的 setChildren() 的调用只被发送了一个元素集合——当我知道第一个查询中还有更多元素时。

所以,我正在使用 EHCache,并清除它没有好处:调用 CacheManager.getInstance().clearAll();

重新启动我的应用程序确实有效。只是因为它在一个看似随机的父母实例上不久就中断了。

没有任何事情(我知道)发生直接导致这种情况。有谁知道会导致此问题的休眠错误或 EHCache 错误。我在缓存上正确调用 clear 吗?

任何指针都会很好。

我使用的是hibernate 3.2.6,同样的问题也发生在mysql和postgres上。

编辑:我还应该补充一点,这个只有 1 个元素的集合处于一种“从不存在”的状态。IE。从来没有只产生 1 个子元素的交易

0 投票
1 回答
89 浏览

hibernate - EntityDelete ColdFusion EHCache

如何删除由 EHcache 缓存并在冷融合中使用 Entitydelete 的休眠实体?

0 投票
3 回答
26617 浏览

hibernate - ehcache 警告消息“未找到配置”

应用程序启动时,我收到以下警告。

我在以下 url 中找到了 encache 代码 .. ConfigurationFactory 代码

应用程序正在尝试加载 ehcache.xml 但找不到该文件,因此它会加载 ehcache-failsafe.xml。我想知道这会对应用程序造成任何问题吗?加载 ehcache-failsafe.xml 有什么影响?