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

spring - spring.factories 文件中没有 JCache 配置文件入口时 Spring Boot 如何自动配置 JCache?

我是 Spring Boot 项目的新手。目前我正在开发一个带有spring boot的项目,Jcache和ehcache实现。

我试图了解 spring boot 如何自动配置缓存框架。我做了自己的研究,发现 spring boot @EnableAutoConfiguration 读取 spring.factories 文件并根据类路径中可用的类自动配置与缓存相关的 bean。

这是 spring.factories 文件下提供的 Spring Boot Cache 自动配置基于 Java 的配置文件

org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration,\

但是对于 Jcache,“JCacheCacheConfiguration.java”是 Spring Boot 自动配置文件,但是 autoconfigurer.jar 文件中的 spring.factroies 文件下没有这个文件。

那么spring boot如何自动配置Jcache而不在spring.factories文件中输入呢?

0 投票
2 回答
912 浏览

spring - 当缓存已满时,EhCache3 如何处理驱逐?

EhCache3 中似乎删除了驱逐策略。有一个可以实现的 EvictionAdvisor 接口,但默认行为是什么?

我将 EhCache3 与 SpringBoot 一起使用。

0 投票
1 回答
499 浏览

spring - 使用 Hazelcast Provider 测试 jCache

如何使用 jCache 和 HazelcastProvider 实现缓存单元测试?

目前我收到此错误:

简化代码如下:

我在 hazelcast.xml 文件中声明了缓存以及多播,所以我理解正确,我应该有一个嵌入式实例。

//编辑

这是 hazelcast.xml 文件:

这是日志:

0 投票
1 回答
1220 浏览

java - 带有非堆存储的嵌入式模式下的 Apache Ignite 如何工作?

我正在考虑用 Ignite 嵌入式模式替换在堆外存储(使用 Java NIO)中存储键值对的自定义构建机制。我不需要与应用程序的任何其他实例共享键值存储。嵌入式模式下的 Apache Ignite 是一个不错的选择吗?在内部,put 和 get 操作如何在 Ignite Embedded Cache 上工作?根据 Apache Ignite 文档,我可以理解新的 Ignite 节点启动在与 Application 相同的 JVM 上。所以 put 和 get 操作必须需要使用某种协议与 Ignite 节点通信。我认为在 Ignite Cache 上的 put 和 get 可能会比在我的内置键值存储上的原生 put 和 get 慢。

0 投票
1 回答
93 浏览

hazelcast - Hazelcast JCache 谓词

以前我使用 Hazelcast Java API 并且能够做谓词来过滤结果返回。

目前,随着我们向 IMDG 的可移植性迈进,我使用了 JCache API。但是,我没有找到任何相关的东西,可以让我在 IMDG 缓存上进行谓词/过滤/搜索。

以前有没有人做过类似的事情?

0 投票
1 回答
705 浏览

ignite - 每 n 秒清除 Apache Ignite 中的缓存

我们如何每 n 秒清空一次缓存(以便我们可以对第 n 秒窗口的数据运行查询 - 批处理窗口查询)?我只能在 ignite 代码中找到基于 FIFO 和 LRU 的驱逐策略,其中驱逐策略基于添加或修改的缓存条目。

我知道我们可以使用 CreatedExpiryPolicy 来创建一个滑动窗口

但我认为这不会帮助我维护批处理窗口。FIFO 或 LruEvictionPolicy 也不会。

我需要一些基于静态时间窗口(例如每 5 秒)的驱逐策略。我必须编写自己的实现吗?

0 投票
1 回答
623 浏览

java - Wildfly 10 Infinispan JCache:@CacheResult 导致“数组类型或注释类型的成员必须注释 @NonBinding”

我正在尝试在 Wilfly 10 中使用 Infinispan JCache 注释。我的 Wildfly 安装具有 Wildfly-Camel 扩展 ( http://wildfly-extras.github.io/wildfly-camel/ )。

我想使用方法级缓存:

我的应用程序的相关 Maven 依赖项:

我的beans.xml

但是,在部署应用程序时出现以下错误:

这很奇怪,因为其中的所有方法javax.cache.annotation.CacheResult都带有注释@Nobinding

有任何想法吗?

谢谢!

0 投票
3 回答
6812 浏览

java - Spring Ehcache3 导致带有键类型和值类型的异常

我尝试ehcache3在项目中使用 spring 4.3。我配置了缓存管理器:

ehcache.xml

但是当我部署项目时,我有一个例外:

如果我删除:

它工作正常,但是缓存的keyType是Object,我需要做什么,我可以使用自己的键类型和值类型?

0 投票
1 回答
646 浏览

ehcache - 如何使用 Ehcache 为 JSR-107 (JCache) 配置 XML 中的自定义序列化器/复制器?

我有一个关于 JCache / Ehcache XML 配置的问题。

我将 JSR 107 Cache Annotations CDI Reference Implementation 与 Ehcache 一起使用。

我想用@CacheResult 注释特定方法,以便这些方法的结果将缓存在为该特定方法生成的缓存中。在我们的例子中,这些方法的返回值是 Optional,你可能知道,Optional 实例是不可序列化的,因此默认情况下不能被缓存。默认使用的 SerializingCopier 和 PlainJavaSerializer 在此失败。

为了解决这个问题,我实现了我们自己的自定义 OptionalSerializer 和 OptionalCopier 来处理 Optional 值。

但是当涉及到可选返回值时,我无法让 JCache / Ehcache 清楚地使用我的自定义序列化程序和复印机。我尝试将 ehcache.xml 放在 JBoss EAP 6.4.0 的类路径中(使用 JBoss 模块),并尝试将 ehcache.xml 放在 Maven 模块的资源文件夹中,但它们只是被忽略了。即使我使这些 XML 无效,我也不会收到任何错误。

我想避免创建 CacheManager,以编程方式引用我们自己的 ehcache.xml 配置文件,因为那时我必须创建缓存。我不想要这个。我希望缓存由 Cache Annotations CDI CacheResultInterceptor 创建,而且我似乎没有选项可以覆盖创建自己的 CacheManager 的方法...

有谁知道我应该怎么做才能解决这个问题?我只想使用提供的拦截器,并有一个 XML 配置,指定自定义序列化器和复制器将需要用于特定的返回类型。

豆类.xml:

示例方法:

您当前使用的 Ehcache 版本;Ehcache 3.4.0

粘贴您遇到问题的 Cache/CacheManager 的配置;

添加您使用 Ehcache 的其他库或框架的任何名称和版本(例如 Hibernate);

  • Java EE 6
  • EJB 3.x
  • CDI 1.x
  • JCache 1.0.0 (JSR 107)
  • JSR 107 缓存注释 CDI RI 1.0.0

提供 JDK 和 OS 版本也可能有用。

  • Java SDK 1.8 更新 65
  • JBoss EAP 6.4.0
  • 视窗 10
0 投票
1 回答
101 浏览

java - Infinispan:如何异步调用 EntryProcessor?

Infinispan 是否提供类似于 Hazelcast( IMap#submitToKey ) 或 Ignite( IgniteCache#invokeAsync ) 的这种功能?