问题标签 [jcache]

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 投票
0 回答
750 浏览

java - 使用 Spring 的 JSR-107 注释预填充缓存

我有一张表,其中包含需要缓存的经常读取、很少更改的记录(大约 50,000 条)。我想在服务器启动时使用加载所有记录的单个查询预填充缓存。我不确定使用 Spring 的annotations时最好的方法是什么。我从文档中发现的唯一方法是在一个服务方法中加载所有实体,而不是将它们传递给另一个服务中的方法,该方法使用注释@CachePut并且不执行任何其他操作。

以上对我来说似乎不是很优雅,但看不到另一种方式。顺便说一句,我正在使用 Ehcache 以防较低级别的 API 实现这一点。

0 投票
2 回答
717 浏览

java - 用于多个应用程序服务器的单个 Java 缓存

我们在反向代理后面有多个应用程序服务器。我们希望在另一台主机上有一个所有应用服务器都可以轻松使用的缓存,因此缓存必须具有某种网络支持。此外,设置应该很容易,可能支持 docker,但这不是必须的。缓存持续时间约为 1d。API 应该尽可能简单和标准化(JCache?)。在稍后阶段,我们要预先填充缓存。

我有哪些选择?

背景:第一步,我们希望减少后端系统的负载,后端系统主要提供 SOAP 服务。所以我们要缓存 SOAP 响应 (JAX-WS)。第一阶段的缓存命中率可能约为 25%。稍后我们也想为 JPA 使用相同的缓存(我们已经为每个 Application Servcer 启用了内存缓存,并使用了缓存协调策略)。要使用更多缓存,我们将需要一些排序缓存类别。

0 投票
2 回答
2189 浏览

spring - 如何在 Spring application-context.xml 中使用 Ecache 作为 Provider 配置 Jcache?

Spring 文档提供了以下信息。

我想确切地知道如何在 spring 应用程序上下文 xml 中配置这个 jcacheManager bean(以 EhCache 作为提供者)。

我已经在 pom.xml 中配置了依赖项,如下所示,这很好。

0 投票
2 回答
2084 浏览

jakarta-ee - JCache API (JSR 107) 是 Java EE 的一部分吗?

谷歌搜索了很长时间,找不到任何关于此的信息。

我不能 100% 确定它是否是 Java EE 平台的一部分,但我的直觉不是。虽然,似乎大多数符合 Java EE 的应用程序容器确实使用/或允许使用缓存系统。

它是 Java SE 的一部分吗?

或者它只是一个独立的规范?

0 投票
1 回答
477 浏览

jakarta-ee - 将 Hazelcast JCache 实现连接到 JSR107 注释的最简单方法

HazelcastJCache 的一个实现。JSR-107 ( JCache) 规范以及编程 API 还指定了注释,因此可以使用 CDI 完成缓存。Hazelcast 博客甚至提供了一个示例,但也指出,Hazelcast 不负责将注释连接到 JCache 实现,这应该由 CDI 容器完成。标准 CDI 容器还没有,但这应该已经是一个已解决的问题。甚至还有一个参考实现,但它广泛警告不要在生产环境中使用。

我们真的坚持使用这个参考实现代码,还是编写我们自己的胶水代码?是否没有真正的、完整的 CDI 解决方案将注释连接到实现?

0 投票
1 回答
1008 浏览

ehcache - JCache 与 EHCache 实现

JCache 的 EHCache 实现是否支持分布式缓存功能?

我的要求是分布式客户端-服务器缓存:多个缓存(集群)节点,以分布式方式协作并与客户端应用程序隔离执行。

谢谢

0 投票
2 回答
891 浏览

caching - 是否可以为 jsr107 的所有缓存提供程序供应商提供通用 xml 配置

我们需要为 Jcache 配置提供通用的 XML 配置参数(例如 timetolive)。
我们正在使用 EhCache 进行开发,并且可能在其他环境中使用其他一些符合 Jsr107 的缓存提供程序,例如 Infinispan。

是否可以让两个缓存提供程序都使用单个配置文件,并且如果需要,我们只需要针对不同的环境更改一些参数?

是否可以在属性文件中定义这些属性并使用它们来根据 Profile 初始化缓存管理器?

我浏览了 jsr107 文档,但没有找到常见的 xml 缓存属性。

技术:Spring Boot 1.2.3,Java 7

0 投票
1 回答
571 浏览

java - Hazelcast JCache CacheEntryListener 触发太频繁

在我看来,我对 JCache EntryListener 的回调机制有问题。我正在尝试设置几个 jcache 成员(hazelcast 实现),每个成员在我的本地机器上作为单个 java 应用程序运行(现在在 Ecipse 中为每个节点手动启动 main)。

节点在开始时只保存一个空缓存<Long, SpecificDataType>。使用默认的 hazelcast-default.xml,我自己以编程方式准备了一个最小配置,主要是注册一个 CacheEntryListener,它为创建/更新/删除/过期条目生成一个简单的 sysout。当我启动几个(三个或更多)成员时,我希望每个成员只打印一次修改后的键/值对,其中包含条目(作为操作条目或备份条目)。问题是,在某些情况下,sysout 会出现多次,在我看来,监听器被触发得太频繁(不止一次)。

例如,在一个简单客户端的帮助下创建一些条目时(它只是获取缓存并将密钥为 123689 的条目放入缓存中),系统输出“CREATE EVENT RECEIVED”在第三个成员中出现 4 次,甚至更常见于第四个,依此类推...

似乎听众以某种方式指数化......我做错了什么?我错过了有关配置的任何内容吗?

代码:

侦听器尽可能简单:

}

任何帮助,将不胜感激!

0 投票
1 回答
1570 浏览

java - 如何以编程方式使用 JCache 并使用 writw 配置 Hazelcast?

我正在尝试添加到我正在使用 JCache 兼容技术的应用程序的当前实现中。目前,我已经能够使用 Apache Ignite 并让它与几个缓存一起使用缓存存储的实现来读取和写入数据库。写入是使用批量写入完成的。一些配置不是 JCache 的一部分,但我已经能够通过 Ignite 提供的 MutableConfiguration 扩展类添加它。此外,我已经使用没有任何 CacheProvider 或 CacheManager 的 Spring 完成了这项工作,因此在我的配置类中,我将缓存直接公开为 bean。我从接受我的配置类并允许我按名称获取缓存的 Ignite 类中获取它们。现在我正在尝试将此配置移植到 Hazelcast,但我遇到了问题。

首先,我无法找到一种方法来在没有 xml 文件的情况下以编程方式配置缓存。我发现的所有示例都使用了 CacheManager,该 CacheManager 采用带有此文件路径的 Properties 对象。如果我将路径传递给类而不是 xml,它会起作用吗?

我已经看到用于配置 HazelcastInstance 的 Config.class 接受 CacheSimpleConfig 但是,HazelcastInstance 没有 getCache 方法或类似方法。如果我以这种方式配置缓存,那么如何从 HazelcastInstance 获取缓存?

最后一件事,我注意到没有与配置缓存相关的文档,仅适用于地图。这不可能吗?缓存只允许写入吗?

谢谢!

0 投票
1 回答
3127 浏览

java - 如何在 Spring Java 配置中创建 Jcache?

我在使用spring cache abstraction设置 jcache 时遇到问题。

我使用咖啡因作为 Jcache。我只是无法理解我做错了什么。你能解释一下如何正确地做到这一点吗?

我得到的是NPE在线cacheManager.createCache(...)