infinispan 相关问题

Infinispan是用于Java和其他JVM语言的ASL2许可数据网格平台,提供分布式内存缓存以及集群工具包。

如何编组?以及 protostream 4.4.3java8 中的 ZonedDateTime

我有 P类{ @ProtoField(number=1, CollectionImplementation=ArrayList.class) 列出帐户; @ProtoField(数字=2) 来自日期的分区日期时间; @ProtoFactory P(列表 我有 class P{ @ProtoField(number=1, CollectionImplementation=ArrayList.class) List<? extends Account> accounts; @ProtoField(number=2) ZonedDateTime fromDate; @ProtoFactory P(List<? extends Account> accounts, ZonedDateTime fromDate) { this.accounts=accounts; this.fromDate=fromDate; } } Proto 模式构建器为 @AutoProtoBuilder( basePackages="com.domain", schemaFileName="abc.proto", schemaFilePath="proto/", schemaPackageName="pkg_abc") Public interface ProtoInitializer extends GeneratedSchema { } 账户可以 SavingAccount extends Account{ name_sa; } ChequingAccount extends Account{ holder_ca; } 在建设的同时 Org.infinispan.protostream.annotations.ProtoSchemaBuilderExveption:类 java .time.ZonedDateTime 必须可以使用可访问的无参构造函数来实例化 和 java.lang.IllegalStateException:意外的类型种类:WILDCARD 如何为这些生成架构 以下适配器应该可以工作: @ProtoAdapter(ZonedDateTime.class) public final class ZonedDateTimeAdapter { @ProtoFactory ZonedDateTime create(long epochSecond, String zoneId) { return ZonedDateTime.ofInstant(Instant.ofEpochSecond(epochSecond), ZoneId.of(zoneId)); } @ProtoField(number = 1, type = Type.UINT64) long getEpochSecond(ZonedDateTime zdt) { return zdt.toEpochSecond(); } @ProtoField(number = 2, type = Type.STRING) String getZoneId(ZonedDateTime zdt) { return zdt.getZone().getId(); } }

回答 1 投票 0

K8 的 Infinispan 分布式缓存模式

我正在使用 infinispan 缓存来通信 K8 中部署的多个服务。我希望这些缓存是 复制,仅复制到少数服务(不是全部),以便当服务终止时,它应该是......

回答 1 投票 0

如何在失效模式下升级到新的infinispan版本

我们有一个由 15 台服务器组成的集群,运行 Spring Boot、Hibernate 和处于失效模式的 infinispan 缓存。 当我们升级 Infinispan(通过更新 Spring Boot)时,我们的集群无法启动

回答 1 投票 0

Keycloak - Infinispan Redis 缓存存储

当前正在以standalone-ha模式设置keycloak集群,以便能够在docker swarm上运行。在 keycloak 中,用户会话缓存在嵌入式 infinispan 存储中,并且 infinispan 可以是

回答 3 投票 0

在bitnami keycloak中为infinispan配置TLS

为 INIFISPAN 配置 TLS 在 Kubernetes 中部署 bitnami/keycloak 时,它在 Pod 中使用默认的 Infinispan 缓存类型。尽管部署了多个 bitnami keycloak ens...

回答 1 投票 0

使用 EmbeddedCacheManager 时,Azure Kubernates 集群节点中的 Infinispan 缓存不会被逐出

我是在 Spring Boot 中配置 Infinispan 缓存的新手。我已经设置了两个 Spring Boot 应用程序,节点 1 和节点 2。我正在使用 Infinispan 集群缓存,并使用 EmbeddedCacheMa 创建了一个 bean...

回答 1 投票 0

如果写入期间不存在则创建远程缓存,如果无法建立连接则忽略远程缓存

我们使用 Spring Cache 抽象和 Infinispan 服务器作为慢速服务前面的远程缓存。 我有两个要求: 如果缓存不存在,我想隐式创建缓存...

回答 1 投票 0

Keycloak infinispan 缓存配置在启动时更改,无需重建

我们正在 Kubernetes 上运行 Keycloak 21.1.2,使用 DNS_PING 和无头服务来发现集群中的节点。在构建 Keycloak 映像时,我们将缓存配置文件位置设置为...

回答 1 投票 0

如何为 Wildfly Infinispan 子系统配置自定义 Protostream 序列化上下文初始化程序?

我有一个 Wildfly 应用程序,带有 Infinispan 缓存,其中包含需要自定义序列化的对象。 Infinispan 数据编组和编码文档建议使用 pro...

回答 2 投票 0

从 14.0.1 升级到 14.0.20 后,使用分布式缓存的 Infinispan 性能缓慢

我们正忙于从 Infinispan 14.0.1 升级到 14.0.20 的项目,但发现我们的分布式(异步)缓存在新版本中明显变慢。 在 14.0.1 中,我们得到了平均写入...

回答 1 投票 0

Hibernate Collection 缓存:如何使用?

我有两个实体:书籍和作者。本书有作者的集合。我正在使用二级缓存来保留 Book 实体及其作者。调试时我可以看到 putForExternalRead 是

回答 2 投票 0

Infinispan 服务器在从 Web 控制台更改任何内容时给出“未经授权的操作”

Infinispan Web 控制台 在更改 infinispan 服务器中的任何内容时,我收到未经授权的操作错误。例如。关闭集群重新平衡时,出现错误 出现意外错误

回答 1 投票 0

将 infinispan 模块与 Wildfly 27/28 一起使用

我正在尝试将应用程序从 Wildfly 26 升级到 Wildfly 27/28。当然,这里最大的一步是 javax 到 jakarta 的转变。 今天我们使用嵌入式 infinispan 模块版本 9.4.16.Final

回答 1 投票 0

如何获取Hot Rod客户的统计数据?

我正在使用 Hot Rod Java 客户端与 Infinispan 远程缓存进行通信。 如何获取客户端有关缓存使用情况的统计信息(命中、未命中等)?

回答 1 投票 0

Jgroups 节点无法向 JGROUPSPING 表的自定义列添加唯一值

希望你们一切都好。 我们正在使用使用 jgroup 的 Infinispan 分布式缓存。 JDBC_PING 协议用于注册和同步节点。我们正在添加一个自定义列(节点...

回答 1 投票 0

Infinispan 缓存实体在生产中丢失

我们有带有配置的 infinispan 缓存(CustomCacheMaxCount 为 100000): new ConfigurationBuilder().clustering().partitionHandling().mergePolicy(MergePolicy.REMOVE_ALL).clustering().cacheMode(缓存...

回答 1 投票 0

复制 infinispan 的性能问题

我正在使用 Infinispan 复制缓存,当我在不同的计算机上扩展应用程序的两个实例时,性能显着下降。值得一提的是,该协议使用...

回答 1 投票 0

使用远程 Infinispan 缓存运行 Keycloak 时发生 ClassCastExceptions

设置 Keycloak 16.1.1 连接到 Infinispan 14 集群,用于远程缓存会话数据(用户会话、身份验证会话、客户端会话等)。 Keycloak 和 Infinispan 都在使用

回答 1 投票 0

集群缓存模式下为什么需要Infinispan过期收割机

我们使用 infinispan 作为 hibernate 中的二级缓存。这是我们大多数实体的缓存配置: 我们使用 infinispan 作为 hibernate 中的二级缓存。这是我们大多数实体的缓存配置: <invalidation-cache-configuration name="entity" mode="ASYNC"> <encoding media-type="application/x-java-object"/> <locking concurrency-level="1000" acquire-timeout="1000"/> <transaction mode="NONE"/> <expiration max-idle="-1" interval="0" lifespan="-1" /> <memory max-count="2000000"/> </invalidation-cache-configuration> 它给出了很多警告: ISPN000025:唤醒间隔为 <= 0, not starting expired purge thread 在文档中说: 如果您使用集群缓存模式,则永远不应该禁用 过期收割者。 另外,文档说有一个“touch”命令,可以同步集群中“最近访问的”元数据。 这可能会降低性能,因为“在所有触摸命令完成之前,cache.get() 请求不会返回”。文档的下一段说:“最大空闲到期时间不适用于失效模式。”所以我很困惑。 我想知道: 如果对象永远不会过期,为什么我们需要每分钟运行一个收割者线程?我可以通过间隔=“0”来禁用它吗? 为什么我们需要触摸命令?我可以禁用它吗?我应该至少将触摸模式设置为“异步”吗? 它给出了很多警告: ISPN000025:唤醒间隔为 <= 0, not starting expired purge thread 这是一条低于 WARN 级别的 INFO 级别消息。您看到很多的原因是因为它为每个像这样配置的缓存打印一次消息。如果您愿意,可以按原样保留配置并忽略 INFO 消息,它们是启动时的一次性事件。 如果对象永远不会过期,为什么我们需要每分钟运行一个收割者线程?我可以通过间隔=“0”来禁用它吗? 是的,可以。请注意,从 Infinispan 的角度来看,我们无法判断对象是否永远不会过期,因为我们还允许以编程方式覆盖写入可以在运行时提供过期的操作。 INFO 消息只是告诉用户“嘿,我们不会自动拾取过期条目,仅在访问时” 为什么我们需要触摸命令?我可以禁用它吗?我应该至少将触摸模式设置为“异步”吗? 我认为您可能已经合并了各个部分。 touch命令仅在使用max-idle过期时使用,lifespan过期不使用touch命令。 touch 命令不与您的用例一起使用,不会过期。 touch 命令需要最大空闲,因为当在一个节点上完成读取时,其他所有者不会知道已完成,因此我们必须发送这些 touch 命令来告诉其他所有者节点,这样他们就不会知道不认为该条目实际上已过期。 文档的下一段说:“最大空闲到期时间不适用于失效模式。” 集群最大空闲不能与失效缓存一起使用,因为它破坏了失效的主要优点。通常,应用程序会在同一事务中更新数据库并使缓存无效,因此通常不需要最大空闲值。集群最大空闲时间必须在每次读取时向集群中的所有节点发送 touch 命令,从而增加了开销。 非集群最大空闲可以与失效缓存一起使用,但这并没有要求afaik。如果您愿意,也可以在 https://issues.redhat.com/browse/ISPN 创建新功能。

回答 1 投票 0

尝试在 OpenLiberty 上使用 Infinispan JCache 时出现 CDI 异常

我正在尝试使用 Infinispan 和 JCache API 为在 OpenLiberty 上运行的 JEE 应用程序添加一些缓存功能。 我正在尝试让它在 POC 项目中工作,所以目前我没有任何代码,我只是

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.