3.7.4. 在企业归档中配置子部署之间的会话共享
JBoss EAP 提供配置企业存档(EAR)在 EAR 中包含的 WAR 模块子部署之间共享会话的功能。默认情况下禁用此功能,必须在 EAR 的 META-INF/jboss-all.xml
文件中明确启用。
由于此功能不是标准 servlet 功能,如果启用此功能,您的应用程序可能无法移植。
要在 EAR 中启用 WAR 之间的会话共享,您需要在 EAR 的 META
元素:
-INF/jboss-all.xml 中声明 shared-
session-config
示例: META-INF/jboss-all.xml
<jboss xmlns="urn:jboss:1.0"> ... <shared-session-config xmlns="urn:jboss:shared-session-config:2.0"> </shared-session-config> ... </jboss>
shared-session-config
元素用于为 EAR 中的所有 WAR 配置共享会话管理器。如果存在 shared-session-config
元素,则 EAR 内的所有 WAR 将共享相同的会话管理器。此处所做的更改将影响 EAR 中包含的所有 WAR。
3.7.4.1. 共享会话配置选项参考
示例: META-INF/jboss-all.xml
<jboss xmlns="urn:jboss:1.0"> <shared-session-config xmlns="urn:jboss:shared-session-config:2.0"> <distributable/> <max-active-sessions>10</max-active-sessions> <session-config> <session-timeout>0</session-timeout> <cookie-config> <name>JSESSIONID</name> <domain>domainName</domain> <path>/cookiePath</path> <comment>cookie comment</comment> <http-only>true</http-only> <secure>true</secure> <max-age>-1</max-age> </cookie-config> <tracking-mode>COOKIE</tracking-mode> </session-config> <replication-config> <cache-name>web</cache-name> <replication-granularity>SESSION</replication-granularity> </replication-config> </shared-session-config> </jboss>
元素 | 描述 |
---|---|
shared-session-config |
共享会话配置的根元素.如果 |
distributable | 指定应使用可分布式会话管理器。从 schema 版本 2.0 开始,默认使用一个不可分发的会话管理器。对于版本 1.0,distributable 会话管理器仍然是默认的会话管理器。 |
max-active-sessions | 允许的最大会话数. |
session-config | 包含 EAR 中包含的所有已部署 WAR 的会话配置参数。 |
session-timeout | 为 EAR 中包含的部署的 WAR 中创建的所有会话超时间隔定义默认的会话超时间隔。指定的超时必须以整分钟表示。如果超时为 0 或以下,容器可确保会话的默认行为永不超时。如果没有指定此元素,容器必须设置其默认超时期限。 |
cookie-config | 包含由 EAR 中包含的部署的 WAR 创建的会话跟踪 Cookie 的配置。 |
name |
分配给 EAR 中所含部署的 WAR 创建的任何会话跟踪 Cookie 的名称。默认值为 |
domain | 分配给 EAR 中所含部署的 WAR 创建的任何会话跟踪 Cookie 的域名。 |
路径 | 分配给 EAR 中所含部署的 WAR 创建的任何会话跟踪 Cookie 的路径。 |
注释 | 分配给 EAR 中所含部署的 WAR 创建的任何会话跟踪 Cookie 的注释。 |
http-only |
指定 EAR 中包含的已部署 WAR 创建的任何会话跟踪 Cookie 是否标记为 |
安全 | 指定任何由 EAR 中包含的部署的 WAR 创建的会话跟踪 Cookie 是否会被标记为安全,即使发起对应会话的请求使用普通 HTTP 而不是 HTTPS。 |
max-age |
分配给由 EAR 中包含的部署的 WAR 创建的任何会话跟踪 Cookie 的生命周期(以秒为单位)。默认值为 |
tracking-mode | 定义由 EAR 中包含的部署的 WAR 创建的会话的跟踪模式。 |
replication-config | 包含 HTTP 会话集群配置。 |
cache-name |
这个选项仅适用于集群。它指定 Infinispan 容器的名称,以及用于存储会话数据的缓存。默认值(如果未明确设置)由应用服务器决定。要在缓存容器内使用特定的缓存,请使用 |
复制 -granularity |
这个选项仅适用于集群。它决定了会话复制粒度级别。可能的值有
如果使用了
如果使用 |