web-2/wildfly/docs/schema/shared-session-config_1_0.xsd

291 lines
11 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright The WildFly Authors
~ SPDX-License-Identifier: Apache-2.0
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:jboss:shared-session-config:1.0"
xmlns="urn:jboss:shared-session-config:1.0"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="1.0">
<!-- Root element -->
<xsd:element name="shared-session-config" type="sharedSessionType">
<xsd:annotation>
<xsd:documentation>
Root element for the shared session config. If this is present in the root of
an ear then all war's deployed in the ear will share a single session manager.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="sharedSessionType">
<xsd:sequence>
<xsd:element name="max-active-sessions" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="session-config" type="session-configType" minOccurs="0" maxOccurs="1"/>
<xsd:element name="replication-config" type="replication-configType" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="session-configType">
<xsd:annotation>
<xsd:documentation>
The session-configType defines the session parameters
for this web application.
Used in: web-app
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="session-timeout"
type="xsd:integer"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The session-timeout element defines the default
session timeout interval for all sessions created
in this web application. The specified timeout
must be expressed in a whole number of minutes.
If the timeout is 0 or less, the container ensures
the default behaviour of sessions is never to time
out. If this element is not specified, the container
must set its default timeout period.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="cookie-config"
type="cookie-configType"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The cookie-config element defines the configuration of the
session tracking cookies created by this web application.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="tracking-mode"
type="tracking-modeType"
minOccurs="0"
maxOccurs="3">
<xsd:annotation>
<xsd:documentation>
The tracking-mode element defines the tracking modes
for sessions created by this web application
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<xsd:simpleType name="tracking-modeType">
<xsd:annotation>
<xsd:documentation>
The tracking modes for sessions created by this web
application
Used in: session-config
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="COOKIE"/>
<xsd:enumeration value="URL"/>
<xsd:enumeration value="SSL"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="cookie-configType">
<xsd:annotation>
<xsd:documentation>
The cookie-configType defines the configuration for the
session tracking cookies of this web application.
Used in: session-config
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="name"
type="xsd:string"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The name that will be assigned to any session tracking
cookies created by this web application.
The default is JSESSIONID
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="domain"
type="xsd:string"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The domain name that will be assigned to any session tracking
cookies created by this web application.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="path"
type="xsd:string"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The path that will be assigned to any session tracking
cookies created by this web application.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="comment"
type="xsd:string"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The comment that will be assigned to any session tracking
cookies created by this web application.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="http-only"
type="xsd:boolean"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Specifies whether any session tracking cookies created
by this web application will be marked as HttpOnly
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="secure"
type="xsd:boolean"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Specifies whether any session tracking cookies created
by this web application will be marked as secure
even if the request that initiated the corresponding session
is using plain HTTP instead of HTTPS
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="max-age"
type="xsd:integer"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The lifetime (in seconds) that will be assigned to any
session tracking cookies created by this web application.
Default is -1
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<xsd:complexType name="replication-configType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
HTTP Session clustering configuration (optional tags)
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="cache-name" type="xsd:string" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
Clustering only: Specifies the name of the Infinispan container and cache in which to store session data.
Default value, if not explicitly set, is determined by the application server.
To use a specific cache within a cache container, use the form "container.cache".
If unqualified, the default cache of the specified container is used.
e.g. <cache-name>web</cache-name>
<cache-name>web.dist</cache-name>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="replication-granularity" type="replication-granularityType" minOccurs="0"
default="SESSION">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
Clustering only: Determines the session replication granularity level.
Possible values are:
1 - "SESSION" (default)
2 - "ATTRIBUTE"
Using SESSION granularity, all session attributes are replicated if any were modified within
the scrope of a request. This policy is required if an object reference is shared by multiple
session attributes. However, this can be inefficient if session attributes are sufficiently
large and/org are modified infrequently, since all attributes must be replicated reglardless
of whether they were modified or not.
Using ATTRIBUTE granularity, only those attributes that were modified within the scope of a
request are replicated. This policy is not appropriate if an object reference is shared by
multiple session attributes. This can be more efficient than SESSION granularity if the
session attributes are sufficiently large and/or modified infrequently.
Examples:
<replication-granularity>SESSION</replication-granularity>
or
<replication-granularity>ATTRIBUTE</replication-granularity>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="replication-granularityType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="SESSION"/>
<xsd:enumeration value="ATTRIBUTE"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>