5.20.2. Web 会话集群更改


JBoss EAP 7 引入了新的 Web 会话集群实施。它取代了先前的实施,与传统的 JBoss Web 子系统源代码紧密耦合。

新的 Web 会话群集实施会影响 jboss-web.xml JBoss EAP 专有 Web 应用 XML 描述符文件中配置该应用的方式。以下是该文件中唯一保留的集群配置元素。

<jboss-web>
  ...
  <max-active-sessions>...</max-active-sessions>
  ...
  <replication-config>
    <replication-granularity>...</replication-granularity>
    <cache-name>...</cache-name>
  </replication-config>
  ...
</jboss-web>
Copy to Clipboard Toggle word wrap

distributable-web 子系统弃用了 jboss-web.xml 的 <replication- config> 元素它通过生成临时可分布式 Web 会话配置集来增强 <replication-config> 的使用。

您可以通过按名称引用会话管理配置文件或提供特定于部署的会话管理配置来覆盖默认的可分布式会话管理行为。如需更多信息,请参阅覆盖默认分布式会话管理行为

下表介绍了如何为 jboss-web.xml 文件中已经过时的元素实现相似的行为。

Expand
配置元素更改描述

<max-active-sessions/>

在以前的版本中,如果导致活跃会话的数量超过 <max-active-sessions/> 指定的值,会话创建会失败。

在新实现中,<max-active-sessions/> 用于启用会话引用。如果会话创建将导致活跃会话数超过 <max-active-sessions/>,则会话管理器已知的最旧的会话将传递,以便为新会话腾出空间。

<passivation-config/>

JBoss EAP 7 中不再使用此配置元素及其子元素。

<use-session-passivation/>

在以前的版本中,使用这个属性启用了 passivation。

在新的实现中,通过为 <max-active-sessions/> 指定非负值来启用 passivation

<passivation-min-idle-time/>

在以前的版本中,会话需要在最短时间内处于活跃状态,然后才能成为进行激进的候选者。这可能会导致会话创建失败,即使启用了 passivation 也是如此。

新实施不支持此逻辑,因此避免了这个服务(DoS)漏洞。

<passivation-max-idle-time/>

在以前的版本中,会话将在闲置特定时间后进行传递。

新的实施仅支持松散激进。它不支持预先传递。只有在需要以符合 <max-active-sessions/> 要求时才传递会话。

<replication-config/>

distributable-web 子系统弃用了这个元素。如需更多信息,请参阅分布式 Web 会话配置的 distribut-web 子系统和 覆盖默认分布式会话管理行为

<replication-trigger/>

在以前的版本中,此元素用于决定何时触发会话复制。新的实施将此配置选项替换为单个强大的策略。如需更多信息,请参阅 JBoss EAP 开发指南中 https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/development_guide/#immutable_session_attributes 的不可变会话属性

<use-jk/>

在以前的版本中,处理给定请求的节点的 instance-id 附加到 jsessionid 中,供负载均衡器使用,如 mod_jk、mod_proxy_balancer、mod_cluster,具体取决于为 <use-jk/> 指定的值。

在新的实施中,instance -id( 若已定义)始终附加到 jsessionid

<max-unreplicated-interval/>

在以前的版本中,这个配置选项旨在优化,以便在没有更改会话属性时防止复制会话时间戳。虽然这听起来很棒,但实际上它不会阻止任何 RPC,因为会话访问需要缓存事务 RPC,而无论任何会话属性是否改变。

在新的实施中,每次请求都会复制会话的时间戳。这可以防止故障转移后过时的会话元数据。

<snapshot-mode/>

在以前的版本中,可以将 <snapshot-mode/> 配置为 INSTANTINTERVAL。Infinispan 的异步复制使此配置选项过时。

<snapshot-interval/>

这只适用于 <snapshot-mode>INTERVAL</snapshot-mode>。由于 <snapshot-mode/> 过时,这个选项现在也过时。

<session-notification-policy/>

在以前的版本中,此属性指定的值定义触发会话事件的策略。

在新的实施中,此行为是规范驱动的,无法配置。

这种新的实施还支持直写缓存存储以及仅传递缓存存储。通常,直写缓存存储与无效缓存结合使用。JBoss EAP 6 中的 Web 会话群集实施在用于无效缓存时无法正确运行。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat