4.7. Infinispan Server 配置更改


4.7.1. Infinispan 默认缓存配置更改

在 JBoss EAP 6 中,用于 Web 会话复制和 EJB 复制的默认集群缓存是复制的 ASYNC 缓存。这在 JBoss EAP 7 中有所改变。默认集群缓存现在是分布式 ASYNC 缓存。默认情况下,复制的缓存不再配置。如需有关如何添加复制缓存并使其成为默认设置的信息,请参阅 JBoss EAP 配置指南中的配置缓存模式

这仅在使用新的 JBoss EAP 7 默认配置时影响您。如果您从 JBoss EAP 6 迁移配置,则将保留 infinispan 子系统的配置。

4.7.2. Infinispan Cache 策略变化

JBoss EAP 7 中更改了 ASYNC 缓存策略的行为。

在 JBoss EAP 6 中,ASYNC 缓存读取为空闲锁定。虽然它们永远不会被阻止,但这容易产生对陈旧数据的脏读取,例如在故障转移中。这是因为,它将允许对同一用户的后续请求在上一个请求完成之前启动。使用分布式模式时,这种行为是无法接受的,因为集群拓扑更改可能会影响会话关联,并容易产生过时的数据。

在 JBoss EAP 7 中,ASYNC 缓存读取需要锁定。由于它们现在阻止来自同一用户的新请求,直到之前的复制完成前,脏读取会被阻止。

在配置自定义有状态会话 Bean(SFSB)缓存以进行 JBoss EAP 7.1 及更高版本中传递时,请注意以下限制:

  • idle-timeout 属性(在 ejb3 子系统的 infinispan passivation-store 中配置)已在 JBoss EAP 7.1 及更高版本中弃用。JBoss EAP 6.4 支持 eager 钝化,并根据 idle-timeout 值进行钝化。JBoss EAP 7.1 及更高版本支持 lazy 钝化,当达到 max-size 阈值时进行钝化。
  • 在 JBoss EAP 7.1 及更高版本中,由 Jakarta Enterprise Beans 客户端使用的集群名称由通道的实际集群名称决定,如 jgroups 子系统中所配置。
  • JBoss EAP 7.1 及更高版本仍允许您设置 max-size 属性来控制传递阈值。
  • 您不应该在 Jakarta Enterprise Beans 缓存配置中配置驱除或过期。

    • 您应该通过在 ejb3 子系统中使用 passivation-storemax-size 属性来配置驱除。
    • 您应该使用 SFSB Java 源代码中的 @StatefulTimeout 注释或通过在 ejb-jar.xml 文件中指定 stateful-timeout 值来配置到期。

4.7.4. Infinispan Cache 容器传输更改

JBoss EAP 7.0 和更新版本之间的行为更改要求对缓存容器传输协议的任何更新都必须以批处理模式或使用特殊标头来完成。这种行为变化也会影响任何用于管理 JBoss EAP 服务器的工具。

以下是用于在 JBoss EAP 7.0 中配置缓存容器传输协议的管理 CLI 命令示例。

/subsystem=infinispan/cache-container=my:add()
/subsystem=infinispan/cache-container=my/transport=jgroups:add()
/subsystem=infinispan/cache-container=my/invalidation-cache=mycache:add(mode=SYNC)
Copy to Clipboard Toggle word wrap

以下是在 JBoss EAP 7.1 中执行相同配置所需的管理 CLI 命令示例。请注意,命令是以批处理模式执行的。

batch
/subsystem=infinispan/cache-container=my:add()
/subsystem=infinispan/cache-container=my/transport=jgroups:add()
/subsystem=infinispan/cache-container=my/invalidation-cache=mycache:add(mode=SYNC)
run-batch
Copy to Clipboard Toggle word wrap

如果您不希望使用批处理模式,您可以在定义传输时指定操作标头 allow-resource-service-restart=true。请注意,这将重新启动服务,以便操作可以生效,一些服务可能会停止工作,直到服务重启为止。

如果您使用脚本更新缓存容器传输协议,请务必检查它们并添加批处理模式。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat