问题标签 [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 回答
379 浏览

hazelcast - Hazelcast 没有注入 spring 依赖项

我使用 hazelcast 3.8.5 作为 jcache 的商店。

看来 hazelcast 没有将 SpringAware 依赖项注入 CacheLoader。

我看了一下 AbstractCacheRecordStore ,似乎只注入了 Hazelcast InstanceAware 依赖项,而不是 SpringAware + Autowired

我正在以编程方式设置集群 managedContext,例如: config.setManagedContext(springManagedContext);

更新

我发现的一个解决方法是将 ApplicationContext 放入 hazelcast 的 UserContext 中。使 CacheLoader 实现 HazelcastInstanceAware。从那里拉出上下文并完成自动装配 CacheLoader。不理想,但它有效。

0 投票
1 回答
84 浏览

ignite - 访问 Ignite 缓存中的底层类型定义

有什么方法可以获取由其他代码创建的缓存的底层键和值类型定义?此时我只知道缓存名称。我没有关于如何创建缓存的任何其他信息。

我需要在上面的行中获取 K 和 V 的类型。

我会将 CacheEntryListener 附加到缓存中,并且我需要访问缓存的值部分中的字段。我该怎么做呢?有什么方法可以从侦听器方法中获得的 CacheEntryEvent 事件中访问类型信息?

0 投票
3 回答
771 浏览

java - 将 jcache 与 hazelcast 一起使用时出现 IllegalArgumentException

我正在尝试将 jcache 与 hazelcast 服务器提供商一起使用。但得到这个例外。

这是我用来配置 hazelcast 的 java 配置。

HazelcastConfiguration.java

使用的依赖:

Spring Boot 版本:1.4.6

使用这些配置,我可以在应用程序中创建和使用 hazelcast 缓存。将以下依赖项添加到提供程序 jcache 缓存提供程序后。Spring boot 尝试从其自动配置和缓存管理器中使用 JCacheCacheConfiguration。

Spring Boot 启动应用程序时没有任何异常或错误。但是,一旦我尝试运行第一个 api 调用,它就会开始将我抛到异常之上。有什么建议吗?

0 投票
2 回答
3930 浏览

caching - 使用 spring boot 1.5 设置 Ehcahe 3 时出错

我最近从1.4升级到spring boot 1.5.7,发现Ehcache已经从2.x升级到了3.x。配置都变了。现在我无法设置缓存配置。

我尝试按照Ehcache官方博客上的步骤进行操作,但没有成功。

这是我的ehcache-dev.xml

我的application-dev.properties文件包含以下行:

spring.cache.jcache.config=classpath:ehcache-dev.xml

dev配置文件上运行时,它会生成错误:

现在,如果我没记错的话,在expiry元素内接受元素有问题cache-template。但这不应该是这种情况,因为这里清楚地提到了A <cache-template> element may contain all the same child elements as a <cache> element.and cacheelement 确实有一个expiry元素。

我无法理解我在这里缺少什么。任何帮助表示赞赏。TIA

0 投票
1 回答
1022 浏览

wildfly - Declarative cache container setup — is it possible?

I'm using Wildfly 10.1.0 + Infinispan 8.2.4.Final + cache API 1.0.0 trying to enable Infinispan Jcache Interceptors in my application with minimum efforts, with no programmatic setup if possible. I wanted to make such an annotation work to store some dictionaries:

I initially started this activity because I missed Spring @Cacheable annotations (we currently don't use Spring config/CDI, just a few libraries like Spring Data JPA Repositories). So I downloaded Infinispan Wilfly/EAP module, unpacked it to Wilfly modules folder and added this to jboss-deployment-structure.xml:

Now the annotations are processed and some default cache container is used to create "dictionary" cache. Now I want to fine-tune this cache container. What's the common way to inject infinispan configuration? Is it possible to plug the module settings into the main Wilfly configuration file (standalone.xml) to define this cache container like this, or specify them in a separate file?

Any help is very much appreciated.

0 投票
1 回答
189 浏览

java - 使用 JCache 实现保存条目的顺序

我想在 JavaEE 应用程序服务器的 Java 堆上缓存如下 DB 表中的内容。

我认为 JCache 是用于这些目的的最通用方式,但是如何将这些记录的顺序保存在缓存中,例如 LinkedHashMap?

(具体 JCache 实现的配置是可以接受的。)

编辑

这是我现在正在处理的遗留企业应用程序中的典型 One True Lookup Table (OTLT)。主排序键是group,辅助排序键是key

OTLT在性能上有一些劣势,所以我想使用缓存机制来解决这个劣势。

0 投票
1 回答
282 浏览

java - 现有 Jcache 的键类型和值类型

有什么方法可以获取由其他代码创建的缓存的底层键和值类型定义?此时我只知道缓存名称。我没有关于如何创建缓存的任何其他信息。缓存在这里是 Jcache。

javax.cache.Cache 缓存 = cachingService.getCache(cacheName);

在这里它被转换为Object,Object。但我想知道实际的键类型和值类型。

0 投票
1 回答
374 浏览

java - Hazelcast 带弹簧靴

我是 Hazelcast 的新手,并使用 Spring boot Hazelcast 开始了一个新项目。现在我正在尝试将 Hazelcast 与 spring boot 集成。很多人有不同的看法。但是 JCache 是集成 Spring boot 和 Hazelcast 的最佳方式吗?

0 投票
1 回答
1040 浏览

java - Redisson(通过 JCache API)仅反序列化为 String

我有一个 Redisson 客户端来存储一对字符串 LocalDateTime。它被配置为通过 JCache API (JSR-107) 使用。

存储完成,使用 Jackson 转换为类似但检索的值不使用任何转换器并返回字符串,在调用2018-01-23T11:59:34.997834中给出 ClassCastException 。cache#get

我在这里想念什么?

0 投票
0 回答
113 浏览

jakarta-ee - JCache Infinspan 在条目更新时创建不朽

在 Wildfly 10.1 上使用 JCache (Infinispan) 时,我偶然发现了以下问题。我创建了一个新的缓存(测试缓存),我在其中使用了 CreatedExpiryPolicy,持续时间为 5 分钟。

在玩过缓存之后,我注意到如果我两次放置相同的键,缓存条目将被转换为 ImmortalCacheEntry,因此该条目将永远保留在缓存中。我知道我可以通过使用 remove 和 put 进行更新来解决这个问题,但对我来说,这听起来像是 Infinspan 中的一个错误。

CreatedExpiryPolicy 中的 JavaDoc 清楚地表明更新对当前的到期持续时间没有影响。

摘自 javax.cache.expiry.CreatedExpiryPolicy

任何人都可以帮助我澄清这是一个错误还是我使用错误?如果这是一个错误,我将创建一个新的 JIRA 问题。