问题标签 [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 投票
1 回答
1599 浏览

java - 通过 Cargo 在嵌入式 Jetty 中调用 ehcache-server 时出现异常:无法实例化 WebApplicationProviderImpl

我正在开发一个使用独立 ehcache 服务器来缓存某些数据的 Web 应用程序。ehcache 服务器通过 REST(而不是 SOAP)访问。

出于功能测试的目的,我需要运行 ehcache 服务器的嵌入式实例。echcache-server 项目本身使用 Cargo Maven2 插件为自己的功能测试执行此操作。我尝试在我的应用程序的 pom.xml 中做同样的事情,但 Cargo 插件坚持部署我自己的 Web 应用程序的 WAR,即使我将其配置为使用 ehcache 的 WAR。

因此,我尝试直接使用 Cargo Container API 来进行部署和容器实例化。以下是相关代码:

Jetty 容器启动,并且 ehcache 本身似乎部分启动,基于各种消息,这些消息看起来与启动独立服务器时生成的消息相同。但是,RESTful Web 服务无法启动,但有以下异常:

以下是我的 pom.xml 中的相关依赖项:

有谁知道可能导致此异常的原因?也许我正在使用不匹配的码头和球衣版本?我是否必须以某种方式注册 WebApplicationProviderImpl?任何想法将不胜感激。

0 投票
2 回答
5691 浏览

java - Hibernate二级缓存ehcache.xml,实体的缓存设置不能读到HIbernate

为了清楚易懂,我有两个项目: 1. 一个实体项目,其中有这个项目中的所有实体类。2.一个项目,包含一个main()函数来运行应用程序,我的ehcache.xml放在这个项目的类路径下。

我的问题是:我可以更改 ehcache.xml 的defaultCache元素,并且可以从 SQL 日志文件中看到更改。但我认为 Hibernate 只读取了我的defaultCache元素,因为无论我在 ehcache.xml 的特定实体的缓存元素中发生什么变化,SQL 日志中都不会发生任何变化。

例如:如果我将defaultCache元素的maxElementsInMemory设置为0,无论我将实体的缓存元素的maxElementsInMemory设置为100还是0,都不会在二级缓存中缓存任何该实体。如果我将defaultCache元素的maxElementsInMemory设置为100,无论我将实体的缓存元素的maxElementsInMemory设置为100还是0,都会有该实体缓存在二级缓存中。

所以我认为也许实体的缓存元素的名称属性设置错误,无法从Hibernate中读取?

0 投票
2 回答
15953 浏览

java - Ehcache 和多线程

ehcache 默认支持多线程还是需要任何配置更改?在使用 Ehcache 对我的应用程序进行多线程处理时,我发现 DB 命中计数实际上在增加,即,尽管我的缓存都是单例,但没有可用于所有线程的全局缓存。有什么建议么?

0 投票
1 回答
5720 浏览

java - 如何在 ehcache.xml 中配置 QueryCache

从我的 sql 日志文件中,我认为 QueryCache 的物理属性是由元素配置的:

甚至我在ehcache.xml中添加了另一个元素,从 sql 日志看来,QueryCache 的物理属性仍然由元素。

我只想在内存中启用 QueryCache,同时默认禁用其他(在内存中)。也许是name属性元素不正确?我从书<>复制它。或者,我应该使用除 之外的其他元素吗?也许有一种元素?

谢谢。

0 投票
1 回答
441 浏览

scalability - Terracotta 中的持久队列配置

有谁知道如何在 Terracotta 服务器上正确配置持久队列?

Terracotta 将集群对象存储在服务器上的文件中,并以仅追加的方式将数据写入它们。我想控制如何以某种方式清除这些内部数据。我有多个密集型应用程序,它们使用由 Terracota 集群的常见 ehcache 实例。有些线程正在放置数据,其他线程正在读取和删除。我们的硬盘不是由橡胶制成的... AFAIK )) Terracotta 是否从磁盘中清除已删除的缓存项,默认行为是什么,配置选项等?谢谢,提前

0 投票
4 回答
8113 浏览

java - Java EE 应用程序中的缓存

我使用 JBoss AS。我有一个在应用程序服务器内运行的又长又重的 SQL。我想根据输入参数缓存结果。

我在这里有几个选择:

  1. 使用缓存管理器并手动将结果放入缓存中。

  2. 使用带有加载器的缓存管理器,当缓存中没有结果时,它将“加载”结果到缓存中。

我现在不关心将缓存复制到集群中的其他服务器。

我的问题是我应该选择什么选项?每个选项的优点和缺点是什么。(易于部署,配置混乱)

这是否可以使用 JBoss Cache 或 ehcache 或两者来实现。


更新: 我正在使用休眠,但结果不是实体,它们是计数器。我需要计算属于特定类别并具有特定状态的所有行。我希望缓存该结果。

我应该将结果包装在实体中吗?然后,我怎样才能让它像 oracle 中的(物化?)视图一样工作 - 自动更新或通过触发器更新。

0 投票
3 回答
5491 浏览

ehcache - EHCache 禁用

有没有办法使用属性文件在外部禁用 ehache?CacheManager.shutdown() 似乎不起作用?实际上,我们有 2 个具有相同源代码的应用程序,我需要 ehcache 在一个而不是另一个。我不需要缓存的一个是 webapp!无法弄清楚如何解决这个问题?

0 投票
1 回答
1935 浏览

java - EHCache 禁用/关闭

有没有办法使用属性文件在外部禁用 ehache?CacheManager.shutdown() 似乎不起作用?实际上,我们有 2 个具有相同源代码的应用程序,我需要 ehcache 在一个而不是另一个。我不需要缓存的一个是 webapp!无法弄清楚如何解决这个问题?

0 投票
3 回答
6718 浏览

java - 大型集群上的 Ehcache 性能

我想使用 Ehcache 复制缓存,首先作为 Hibernate 二级缓存的后端,其次作为任何数据的缓存。

我知道像 memcached 这样的分布式缓存是如何工作的,并且我知道它可以扩展到大型集群,但是我找不到 Ehcache 复制在大型集群上的行为方式。

  • 有人指向某些信息或某种基准吗?

我发现可以使用许多复制策略,例如 RMI、JGroups、JMS 或 Terracotta,而 RMI 和 Terracotta 似乎是最受欢迎的。

  • 它们如何在大型集群上进行比较?

当我添加许多节点(比如几十个)时,复制会扼杀我的表现吗?

0 投票
2 回答
7006 浏览

hibernate - Hibernate 二级缓存 <>

我想在我的休眠项目中使用二级缓存,但我对休眠二级缓存了解一点,谁能解释我应该如何在我的代码中使用它以及我需要什么配置和 .jar 文件?我将这些设置设置为我的 hibernate.cfg.xml 文件

并添加这些 jar 文件ehcache-1.6.1.jar, ehcache-1.6.1-javadoc.jar, ehcache-1.6.1-sources.jar 我想知道我应该更改任何其他配置吗?

以及如何理解我的项目使用二级缓存?

如果只是把这个设置,休眠自动使用这个或者我必须在我的 .java 类中使用其他代码(如任何注释或其他东西)