jboss-web_7_1.xsd 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. ~ JBoss, Home of Professional Open Source.
  4. ~ Copyright 2012, Red Hat, Inc., and individual contributors
  5. ~ as indicated by the @author tags. See the copyright.txt file in the
  6. ~ distribution for a full listing of individual contributors.
  7. ~
  8. ~ This is free software; you can redistribute it and/or modify it
  9. ~ under the terms of the GNU Lesser General Public License as
  10. ~ published by the Free Software Foundation; either version 2.1 of
  11. ~ the License, or (at your option) any later version.
  12. ~
  13. ~ This software is distributed in the hope that it will be useful,
  14. ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  16. ~ Lesser General Public License for more details.
  17. ~
  18. ~ You should have received a copy of the GNU Lesser General Public
  19. ~ License along with this software; if not, write to the Free
  20. ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  21. ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  22. -->
  23. <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
  24. targetNamespace="http://www.jboss.com/xml/ns/javaee"
  25. xmlns:javaee="http://java.sun.com/xml/ns/javaee"
  26. xmlns:jboss="http://www.jboss.com/xml/ns/javaee"
  27. xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  28. elementFormDefault="qualified"
  29. attributeFormDefault="unqualified"
  30. version="7.1">
  31. <xsd:annotation>
  32. <xsd:documentation>
  33. <![CDATA[
  34. This is the XML Schema for the JBoss AS 7.0 web application deployment descriptor.
  35. The deployment descriptor must be named "META-INF/jboss-web.xml" in
  36. the WAR file. All JBoss Web deployment descriptors must indicate
  37. the JBoss schema by using the Java EE namespace:
  38. http://www.jboss.com/xml/ns/javaee
  39. and by indicating the version of the schema using the version element as shown below:
  40. <jboss-web xmlns="http://www.jboss.com/xml/ns/javaee"
  41. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  42. xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss-web_7_0.xsd"
  43. version="7.0">
  44. ...
  45. </jboss-web>
  46. Instance documents may indicate the published version of
  47. the schema using the xsi:schemaLocation attribute for the
  48. Java EE namespace with the following location:
  49. http://www.jboss.org/j2ee/schema/jboss-web_7_0.xsd
  50. ]]>
  51. </xsd:documentation>
  52. </xsd:annotation>
  53. <xsd:annotation>
  54. <xsd:documentation> The following conventions apply to all Java EE deployment descriptor
  55. elements unless indicated otherwise. - In elements that specify a pathname to a file within
  56. the same JAR file, relative filenames (i.e., those not starting with "/") are considered
  57. relative to the root of the JAR file's namespace. Absolute filenames (i.e., those starting
  58. with "/") also specify names in the root of the JAR file's namespace. In general, relative
  59. names are preferred. The exception is .war files where absolute names are preferred for
  60. consistency with the Servlet API. </xsd:documentation>
  61. </xsd:annotation>
  62. <xsd:import namespace="http://java.sun.com/xml/ns/javaee" schemaLocation="web-app_3_0.xsd"/>
  63. <xsd:include schemaLocation="jboss-common_6_0.xsd"/>
  64. <xsd:element name="jboss-web" type="jboss:jboss-webType">
  65. <xsd:annotation>
  66. <xsd:documentation>
  67. This is the root element of jboss-web deployment descriptor.
  68. </xsd:documentation>
  69. </xsd:annotation>
  70. </xsd:element>
  71. <xsd:simpleType name="jboss-web-versionType">
  72. <xsd:restriction base="xsd:token">
  73. <xsd:enumeration value="7.1"/>
  74. </xsd:restriction>
  75. </xsd:simpleType>
  76. <xsd:complexType name="jboss-webType">
  77. <xsd:annotation>
  78. <xsd:documentation> The jboss-web element is the root element of jboss-web.xml file. It contains
  79. all the information used by jboss but not described in the web.xml file. All of it is optional.
  80. </xsd:documentation>
  81. </xsd:annotation>
  82. <xsd:sequence>
  83. <xsd:element name="context-root" type="jboss:context-rootType" minOccurs="0" maxOccurs="1"/>
  84. <xsd:element name="virtual-host" type="jboss:virtual-hostType" minOccurs="0" maxOccurs="1"/>
  85. <xsd:element name="annotation" type="jboss:annotationType" minOccurs="0" maxOccurs="unbounded"/>
  86. <xsd:element name="listener" type="jboss:container-listenerType" minOccurs="0" maxOccurs="unbounded"/>
  87. <xsd:element name="session-config" type="javaee:session-configType" minOccurs="0" maxOccurs="1"/>
  88. <xsd:element name="valve" type="jboss:valveType" minOccurs="0" maxOccurs="unbounded"/>
  89. <xsd:element name="overlay" type="jboss:overlayType" minOccurs="0" maxOccurs="unbounded"/>
  90. <xsd:element name="security-domain" type="jboss:security-domainType" minOccurs="0"/>
  91. <xsd:element name="security-role" type="jboss:security-roleType" minOccurs="0" maxOccurs="unbounded"/>
  92. <xsd:element name="jacc-star-role-allow" type="jboss:jacc-star-role-allowType" minOccurs="0" maxOccurs="1"/>
  93. <xsd:element name="disable-cross-context" type="jboss:disable-cross-contextType" minOccurs="0" maxOccurs="1"/>
  94. <xsd:element name="use-jboss-authorization" type="jboss:use-jboss-authorizationType" minOccurs="0" maxOccurs="1"/>
  95. <xsd:element name="disable-audit" type="jboss:disable-auditType" minOccurs="0" maxOccurs="1"/>
  96. <xsd:element name="servlet" type="jboss:servletType" minOccurs="0" maxOccurs="unbounded"/>
  97. <xsd:element name="max-active-sessions" type="javaee:xsdIntegerType" minOccurs="0" maxOccurs="1"/>
  98. <xsd:element name="replication-config" type="jboss:replication-configType" minOccurs="0" maxOccurs="1"/>
  99. <xsd:element name="passivation-config" type="jboss:passivation-configType" minOccurs="0" maxOccurs="1"/>
  100. <xsd:element name="distinct-name" type="jboss:distinct-nameType" minOccurs="0" maxOccurs="1"/>
  101. <xsd:element name="symbolic-linking-enabled" type="jboss:symbolic-linked-allowedType" minOccurs="0" maxOccurs="1"/>
  102. <xsd:group ref="jboss:jndiEnvironmentRefsGroup"/>
  103. <xsd:element name="message-destination" type="jboss:message-destinationType" minOccurs="0" maxOccurs="unbounded"/>
  104. <xsd:element name="webservice-description" type="jboss:webservice-descriptionType" minOccurs="0" maxOccurs="unbounded"/>
  105. </xsd:sequence>
  106. <xsd:attribute name="version" type="jboss:jboss-web-versionType" use="required"/>
  107. </xsd:complexType>
  108. <xsd:complexType name="container-listenerType">
  109. <xsd:annotation>
  110. <xsd:documentation>
  111. Defines a web container listener. The module element allows specifying from which
  112. module in the application server the specified class will be loaded. The listener type
  113. element defines which events the listener will recieve from the web container.
  114. </xsd:documentation>
  115. </xsd:annotation>
  116. <xsd:sequence>
  117. <xsd:element name="class-name" type="javaee:string" minOccurs="1" maxOccurs="1"/>
  118. <xsd:element name="module" type="javaee:string" minOccurs="0" maxOccurs="1"/>
  119. <xsd:element name="listener-type" type="jboss:container-listener-typeType" minOccurs="1" maxOccurs="1"/>
  120. <xsd:element name="param" type="javaee:param-valueType" minOccurs="0" maxOccurs="unbounded"/>
  121. </xsd:sequence>
  122. </xsd:complexType>
  123. <xsd:complexType name="container-listener-typeType">
  124. <xsd:annotation>
  125. <xsd:documentation>
  126. <![CDATA[
  127. Sets the type of the container listener:
  128. 1 - "LIFECYCLE": webapp lifecycle listener
  129. 2 - "CONTAINER": webapp container listener
  130. 3 - "SERVLET_INSTANCE": servlet instance listener
  131. 4 - "SERVLET_LIFECYCLE": servlet lifecyle listener
  132. 5 - "SERVLET_CONTAINER": servlet container (Catalina wrapper) listener
  133. Example:
  134. <listener-type>LIFECYCLE</listener-type>
  135. ]]>
  136. </xsd:documentation>
  137. </xsd:annotation>
  138. <xsd:simpleContent>
  139. <xsd:restriction base="javaee:string">
  140. <xsd:enumeration value="LIFECYCLE"/>
  141. <xsd:enumeration value="CONTAINER"/>
  142. <xsd:enumeration value="SERVLET_INSTANCE"/>
  143. <xsd:enumeration value="SERVLET_LIFECYCLE"/>
  144. <xsd:enumeration value="SERVLET_CONTAINER"/>
  145. </xsd:restriction>
  146. </xsd:simpleContent>
  147. </xsd:complexType>
  148. <xsd:complexType name="valveType">
  149. <xsd:annotation>
  150. <xsd:documentation>
  151. Defines a web container valve. The module element allows specifying from which
  152. module in the application server the specified class will be loaded. A container
  153. valve is used to intercept the request that will be processed by the servlet. It
  154. is invoked as part of a chain, before the invocation of the webapp's filter chain.
  155. </xsd:documentation>
  156. </xsd:annotation>
  157. <xsd:sequence>
  158. <xsd:element name="class-name" type="javaee:string" minOccurs="1" maxOccurs="1"/>
  159. <xsd:element name="module" type="javaee:string" minOccurs="0" maxOccurs="1"/>
  160. <xsd:element name="param" type="javaee:param-valueType" minOccurs="0" maxOccurs="unbounded"/>
  161. </xsd:sequence>
  162. </xsd:complexType>
  163. <xsd:complexType name="overlayType">
  164. <xsd:annotation>
  165. <xsd:documentation>
  166. The overlay element specifies additional static files overlays for this
  167. web application. The content of the element should be a folder in the
  168. filesystem containing the static files that will overlay the webapp's
  169. static files, similar to what happens with regular JAR overlays.
  170. </xsd:documentation>
  171. </xsd:annotation>
  172. <xsd:simpleContent>
  173. <xsd:restriction base="javaee:string"/>
  174. </xsd:simpleContent>
  175. </xsd:complexType>
  176. <xsd:complexType name="disable-cross-contextType">
  177. <xsd:annotation>
  178. <xsd:documentation>
  179. The disable-cross-context element specifies if cross context
  180. access should be enabled for this webapp, allowing it to use the
  181. request dispatcher to access other webapps deployed in the
  182. application server.
  183. </xsd:documentation>
  184. </xsd:annotation>
  185. <xsd:simpleContent>
  186. <xsd:restriction base="javaee:generic-booleanType"/>
  187. </xsd:simpleContent>
  188. </xsd:complexType>
  189. <xsd:complexType name="use-jboss-authorizationType">
  190. <xsd:annotation>
  191. <xsd:documentation>
  192. The use-jboss-authorization element specifies if the JBoss
  193. authorization layer should be used.
  194. </xsd:documentation>
  195. </xsd:annotation>
  196. <xsd:simpleContent>
  197. <xsd:restriction base="javaee:generic-booleanType"/>
  198. </xsd:simpleContent>
  199. </xsd:complexType>
  200. <xsd:complexType name="disable-auditType">
  201. <xsd:annotation>
  202. <xsd:documentation>
  203. The disable-audit element specifies if the security audit logging
  204. should be disabled.
  205. </xsd:documentation>
  206. </xsd:annotation>
  207. <xsd:simpleContent>
  208. <xsd:restriction base="javaee:generic-booleanType"/>
  209. </xsd:simpleContent>
  210. </xsd:complexType>
  211. <xsd:complexType name="distinct-nameType">
  212. <xsd:annotation>
  213. <xsd:documentation>
  214. The distinct-name element specifies the EJB 3 distinct name for this
  215. web application.
  216. </xsd:documentation>
  217. </xsd:annotation>
  218. <xsd:simpleContent>
  219. <xsd:restriction base="javaee:string"/>
  220. </xsd:simpleContent>
  221. </xsd:complexType>
  222. <xsd:complexType name="symbolic-linked-allowedType">
  223. <xsd:annotation>
  224. <xsd:documentation>
  225. Thesymbolic-linked-allowed element specifies if symlinking is allowed in exploded deployments.
  226. </xsd:documentation>
  227. </xsd:annotation>
  228. <xsd:simpleContent>
  229. <xsd:restriction base="xsd:boolean"/>
  230. </xsd:simpleContent>
  231. </xsd:complexType>
  232. <xsd:complexType name="jacc-star-role-allowType">
  233. <xsd:annotation>
  234. <xsd:documentation>
  235. The jacc-star-role-allow element specifies whether the
  236. jacc permission generating agent in the web layer needs to generate a
  237. WebResourcePermission(url,null) permission such that the jacc provider can
  238. make a decision as to bypass authorization or not.
  239. </xsd:documentation>
  240. </xsd:annotation>
  241. <xsd:simpleContent>
  242. <xsd:restriction base="javaee:generic-booleanType"/>
  243. </xsd:simpleContent>
  244. </xsd:complexType>
  245. <xsd:complexType name="context-rootType">
  246. <xsd:annotation>
  247. <xsd:documentation>
  248. The context-root element specifies the context root of a web
  249. application. This is normally specified at the ear level using the standard
  250. JEE application.xml descriptor, but it may be given here for standalone wars.
  251. This should not override the application.xml level specification.
  252. </xsd:documentation>
  253. </xsd:annotation>
  254. <xsd:simpleContent>
  255. <xsd:restriction base="javaee:string"/>
  256. </xsd:simpleContent>
  257. </xsd:complexType>
  258. <xsd:complexType name="virtual-hostType">
  259. <xsd:annotation>
  260. <xsd:documentation>
  261. <![CDATA[
  262. The virtual-host element allows one to specify which virtual host the war
  263. should be deployed to. Example, to specify that a war should be deployed to the
  264. www.jboss-store.org virtual host add the following virtual-host element:
  265. <virtual-host>www.jboss-store.org</virtual-host>
  266. ]]>
  267. </xsd:documentation>
  268. </xsd:annotation>
  269. <xsd:simpleContent>
  270. <xsd:restriction base="javaee:string"/>
  271. </xsd:simpleContent>
  272. </xsd:complexType>
  273. <xsd:complexType name="replication-configType">
  274. <xsd:annotation>
  275. <xsd:documentation>
  276. <![CDATA[
  277. HTTP Session clustering configuration (optional tags)
  278. ]]>
  279. </xsd:documentation>
  280. </xsd:annotation>
  281. <xsd:sequence>
  282. <xsd:element name="cache-name" type="jboss:cache-nameType" minOccurs="0"/>
  283. <xsd:element name="replication-trigger" type="jboss:replication-triggerType" minOccurs="0"/>
  284. <xsd:element name="replication-granularity" type="jboss:replication-granularityType" minOccurs="0"/>
  285. <xsd:element name="replication-mode" type="jboss:replication-modeType" minOccurs="0"/>
  286. <xsd:element name="backups" type="jboss:backupsType" minOccurs="0"/>
  287. <xsd:element name="use-jk" type="jboss:use-jkType" minOccurs="0"/>
  288. <xsd:element name="max-unreplicated-interval" type="jboss:max-unreplicated-intervalType" minOccurs="0"/>
  289. <xsd:element name="snapshot-mode" type="jboss:snapshot-modeType" minOccurs="0"/>
  290. <xsd:element name="snapshot-interval" type="jboss:snapshot-intervalType" minOccurs="0"/>
  291. <xsd:element name="session-notification-policy" type="jboss:session-notification-policyType" minOccurs="0"/>
  292. </xsd:sequence>
  293. </xsd:complexType>
  294. <xsd:complexType name="cache-nameType">
  295. <xsd:annotation>
  296. <xsd:documentation>
  297. <![CDATA[
  298. Clustering only: Name of the JBoss Cache or PojoCache configuration that
  299. should be used for storing distributable sessions and replicating them around the
  300. cluster.
  301. Default value if not explicitly set is the overall web container default
  302. as set in the deployers/jbossweb.deployer service.
  303. ]]>
  304. </xsd:documentation>
  305. </xsd:annotation>
  306. <xsd:simpleContent>
  307. <xsd:restriction base="javaee:string"/>
  308. </xsd:simpleContent>
  309. </xsd:complexType>
  310. <xsd:complexType name="replication-triggerType">
  311. <xsd:annotation>
  312. <xsd:documentation>
  313. <![CDATA[
  314. Clustering only: Determines when the container should consider that a session
  315. must be replicated across the cluster.
  316. Possible values are:
  317. 1 - "ACCESS"
  318. 2 - "SET_AND_GET"
  319. 3 - "SET_AND_NON_PRIMITIVE_GET" (default value)
  320. 4 - "SET"
  321. The rationale for this setting is that after a mutable object stored as a session attribute
  322. is accessed from the session, in the absence of a setAttribute call the container has no
  323. clear way to know if the object (and hence the session state) has been modified.
  324. In all cases, calling setAttribute marks the session as needing replication.
  325. ACCESS - merely accessing the session marks the session as dirty.
  326. SET_AND_GET is conservative but not optimal (performance-wise): it will always replicate the
  327. session even if its content has not been modified but simply accessed.
  328. SET_AND_NON_PRIMITIVE_GET is conservative but will only replicate if a non-primitive Object
  329. has been accessed (i.e. the object is not of a well-known immutable JDK type such as Integer,
  330. Long, String, etc.) This is the default value.
  331. SET assumes that the developer will explicitly call setAttribute on the session
  332. if it needs to be replicated. This setting prevents unnecessary replication, but requires very
  333. good coding practices to ensure setAttribute is always called whenever an attribute value
  334. is modified.
  335. Examples:
  336. <replication-trigger>SET_AND_GET</replication-trigger>
  337. or
  338. <replication-trigger>SET_AND_NON_PRIMITIVE_GET</replication-trigger>
  339. or
  340. <replication-trigger>SET</replication-trigger>
  341. ]]>
  342. </xsd:documentation>
  343. </xsd:annotation>
  344. <xsd:simpleContent>
  345. <xsd:restriction base="javaee:string">
  346. <xsd:enumeration value="ACCESS"/>
  347. <xsd:enumeration value="SET_AND_GET"/>
  348. <xsd:enumeration value="SET_AND_NON_PRIMITIVE_GET"/>
  349. <xsd:enumeration value="SET"/>
  350. </xsd:restriction>
  351. </xsd:simpleContent>
  352. </xsd:complexType>
  353. <xsd:complexType name="replication-granularityType">
  354. <xsd:annotation>
  355. <xsd:documentation>
  356. <![CDATA[
  357. Clustering only: Determines the session replication granularity level.
  358. Possible values are:
  359. 1 - "SESSION" (default)
  360. 2 - "ATTRIBUTE"
  361. The first option indicates that replication is done per session instance, i.e. when
  362. the session is considered modified, the whole session object will be serialized
  363. and replicated. This is the preferred policy when the sessions are generally small.
  364. The second option indicates that replication is performed only for the the dirty
  365. attributes in the session, plus some session data, like lastAccessTime. For sessions
  366. carrying large amounts of data, parts of which are infrequently accessed,
  367. this option can increase replication performance.
  368. A third option, "FIELD" was available in AS 4.x and AS 5.x, but it
  369. is not supported by AS 6.
  370. Examples:
  371. <replication-granularity>SESSION</replication-granularity>
  372. or
  373. <replication-granularity>ATTRIBUTE</replication-granularity>
  374. ]]>
  375. </xsd:documentation>
  376. </xsd:annotation>
  377. <xsd:simpleContent>
  378. <xsd:restriction base="javaee:string">
  379. <xsd:enumeration value="SESSION"/>
  380. <xsd:enumeration value="ATTRIBUTE"/>
  381. </xsd:restriction>
  382. </xsd:simpleContent>
  383. </xsd:complexType>
  384. <xsd:complexType name="replication-modeType">
  385. <xsd:annotation>
  386. <xsd:documentation>
  387. <![CDATA[
  388. Clustering only: Determines the session replication mode.
  389. Possible values are:
  390. 1 - "SYNCHRONOUS"
  391. 2 - "ASYNCHRONOUS"
  392. In SYNCHRONOUS mode, session replication occurs in the same thread that processes a given
  393. request. A request will not complete until the associated session is successfully replicated.
  394. In ASYNCHRONOUS mode, session replication occurs in a separate thread from the one that processes
  395. a given request. The request thread only initiates replication, but does not wait for it to complete.
  396. If not defined, the replication mode defined in the distributed cache configuration will be used.
  397. In the default distributed session cache configuration, sessions replicate asynchronously.
  398. Examples:
  399. <replication-mode>SYNCHRONOUS</replication-mode>
  400. or
  401. <replication-mode>ASYNCHRONOUS</replication-mode>
  402. ]]>
  403. </xsd:documentation>
  404. </xsd:annotation>
  405. <xsd:simpleContent>
  406. <xsd:restriction base="javaee:string">
  407. <xsd:enumeration value="SYNCHRONOUS"/>
  408. <xsd:enumeration value="ASYNCHRONOUS"/>
  409. </xsd:restriction>
  410. </xsd:simpleContent>
  411. </xsd:complexType>
  412. <xsd:simpleType name="backupsType">
  413. <xsd:annotation>
  414. <xsd:documentation>
  415. <![CDATA[
  416. Clustering only: Defines the number of backup nodes on which to replicate
  417. a given session.
  418. Possible values are:
  419. > 0 : Session will be replicated to *all* nodes (i.e. total replication)
  420. 0 : Session will not be replicated (i.e. local mode)
  421. < 0 : Session will be replicated only to the specified number of nodes (i.e. distribution mode)
  422. Default value, if not explicitly set, is taken from the distributed cache
  423. configuration. By default, this is -1, i.e. total replication.
  424. ]]>
  425. </xsd:documentation>
  426. </xsd:annotation>
  427. <xsd:restriction base="xsd:integer"/>
  428. </xsd:simpleType>
  429. <xsd:complexType name="use-jkType">
  430. <xsd:annotation>
  431. <xsd:documentation>
  432. <![CDATA[
  433. Clustering only: Whether the container should assume mod_jk is used for
  434. load balancing for this webapp. If set to 'true', the container will examine
  435. the session id associated with every request and replace the JvmRoute portion of
  436. the session id if it detects a failover. In addition, for each host you will
  437. need to set a unique JvmRoute inside the server.xml file, e.g.,
  438. <Engine name="jboss.web" jvmRoute="Node1" defaultHost="localhost">
  439. ...
  440. </Engine>
  441. Default value if not explicitly set is the overall web container default
  442. as set in the deployers/jbossweb.deployer service. By default that is set
  443. to "false".
  444. ]]>
  445. </xsd:documentation>
  446. </xsd:annotation>
  447. <xsd:simpleContent>
  448. <xsd:restriction base="javaee:generic-booleanType"/>
  449. </xsd:simpleContent>
  450. </xsd:complexType>
  451. <xsd:simpleType name="max-unreplicated-intervalType">
  452. <xsd:annotation>
  453. <xsd:documentation>
  454. <![CDATA[
  455. Clustering only: Determines the maximum interval between requests, in
  456. seconds, after which a request will trigger replication of the session's
  457. timestamp and other metadata regardless of whether the request has otherwise
  458. made the session dirty. Such replication ensures that other nodes in the
  459. cluster are aware of the most recent value for the session's timestamp
  460. and won't incorrectly expire an unreplicated session upon failover. It also
  461. results in correct values for HttpSession.getLastAccessedTime() calls
  462. following failover.
  463. The cost of this metadata replication depends on the configured
  464. replication-granularity. With <code>SESSION</code>, the session's
  465. attribute map is replicated along with the metadata, so it can be fairly
  466. costly. With other granularities, the metadata object is replicated
  467. separately from the attributes and only contains a String, and a few longs,
  468. ints and booleans.
  469. A value of 0 means the metadata will be replicated whenever the session is
  470. accessed. A value of -1 means the metadata will be replicated only if some
  471. other activity during the request (e.g. modifying an attribute) has
  472. resulted in other replication work involving the session. A positive value
  473. greater than the HttpSession.getMaxInactiveInterval() value will be treated
  474. as a likely misconfiguration and converted to 0; i.e. replicate the
  475. metadata on every request.
  476. ]]>
  477. </xsd:documentation>
  478. </xsd:annotation>
  479. <xsd:restriction base="xsd:integer"/>
  480. </xsd:simpleType>
  481. <xsd:complexType name="snapshot-modeType">
  482. <xsd:annotation>
  483. <xsd:documentation>
  484. <![CDATA[
  485. Clustering only: Defines when the sessions are replicated to the other nodes.
  486. The typical value, "instant", replicates changes to the other nodes at the end
  487. of requests, using the request processing thread to perform the replication.
  488. In this case, the "snapshot-interval" property is ignored.
  489. With "interval" mode, a background process is created that runs every
  490. "snapshot-interval" milliseconds, checking for modified sessions and replicating
  491. them.
  492. Default value if not explicitly set is the overall web container default
  493. as set in the deployers/jbossweb.deployer service. By default that is set
  494. to "instant".
  495. Note that this property has no effect if replication-granularity
  496. is set to FIELD. If it is FIELD, "instant" mode will be used.
  497. ]]>
  498. </xsd:documentation>
  499. </xsd:annotation>
  500. <xsd:simpleContent>
  501. <xsd:restriction base="javaee:string">
  502. <xsd:enumeration value="INSTANT"/>
  503. <xsd:enumeration value="FIELD"/>
  504. </xsd:restriction>
  505. </xsd:simpleContent>
  506. </xsd:complexType>
  507. <xsd:simpleType name="snapshot-intervalType">
  508. <xsd:annotation>
  509. <xsd:documentation>
  510. <![CDATA[
  511. Clustering only: Defines how often (in milliseconds) the background
  512. process that replicates modified sessions should be started for this
  513. web app. Only meaningful if snapshot-mode is set to "interval".
  514. Default value if not explicitly set is the overall web container default
  515. as set in the deployers/jbossweb.deployer service. By default that is set
  516. to "1000".
  517. ]]>
  518. </xsd:documentation>
  519. </xsd:annotation>
  520. <xsd:restriction base="xsd:integer"/>
  521. </xsd:simpleType>
  522. <xsd:complexType name="session-notification-policyType">
  523. <xsd:annotation>
  524. <xsd:documentation>
  525. <![CDATA[
  526. Clustering only: Fully qualified class name of the implementation of the
  527. org.jboss.web.tomcat.service.session.notification.ClusteredSessionNotificationPolicy
  528. interface that should be used to govern whether servlet specification
  529. notifications should be emitted to any registered HttpSessionListener,
  530. HttpSessionAttributeListener and/or HttpSessionBindingListener.
  531. Event notifications that may make sense in a non-clustered environment
  532. may or may not make sense in a clustered environment; configuring an
  533. appropriate ClusteredSessionNotificationPolicy gives the application
  534. author fine-grained control over what notifications are issued.
  535. Default value if not explicitly set is the
  536. org.jboss.web.tomcat.service.session.notification.IgnoreUndeployLegacyClusteredSessionNotificationPolicy.
  537. ]]>
  538. </xsd:documentation>
  539. </xsd:annotation>
  540. <xsd:simpleContent>
  541. <xsd:restriction base="javaee:fully-qualified-classType"/>
  542. </xsd:simpleContent>
  543. </xsd:complexType>
  544. <xsd:complexType name="servletType">
  545. <xsd:annotation>
  546. <xsd:documentation>
  547. <![CDATA[
  548. The servlet element specifies servlet specific bindings. Currently this
  549. is only the run-as principal identity.
  550. ]]>
  551. </xsd:documentation>
  552. </xsd:annotation>
  553. <xsd:sequence>
  554. <xsd:element name="servlet-name" type="javaee:string"/>
  555. <xsd:element name="run-as-principal" type="javaee:role-nameType" minOccurs="0">
  556. <xsd:annotation>
  557. <xsd:documentation>
  558. The run-as-principal element specifies whether a specific run-as identity is
  559. to be used. If there is a run-as role defined for a servlet, there can also
  560. be a run-as-principal defined here. If you don't define a run-as principal
  561. the callee will see ctx.getUserPrincipal() == 'anonymous'
  562. </xsd:documentation>
  563. </xsd:annotation>
  564. </xsd:element>
  565. <xsd:element name="servlet-security" type="jboss:servlet-securityType" minOccurs="0" maxOccurs="1"/>
  566. </xsd:sequence>
  567. </xsd:complexType>
  568. <xsd:simpleType name="max-active-sessionsType">
  569. <xsd:annotation>
  570. <xsd:documentation>
  571. <![CDATA[
  572. Clustering only: Determines the max number of active sessions allowed.
  573. If the number of sessions managed by the the session manager exceeds this value and
  574. passivation is enabled, the excess will be passivated based on the configured
  575. passivation-min-idle-time.
  576. If after passivation is completed (or if passivation is disabled), the number of
  577. active sessions still exceeds this limit, attempts to create new sessions
  578. will be rejected.
  579. If set to -1, means no limit
  580. ]]>
  581. </xsd:documentation>
  582. </xsd:annotation>
  583. <xsd:restriction base="xsd:integer"/>
  584. </xsd:simpleType>
  585. <xsd:complexType name="passivation-configType">
  586. <xsd:annotation>
  587. <xsd:documentation>
  588. <![CDATA[
  589. Clustering only: HTTP Session passivation configuration.
  590. ]]>
  591. </xsd:documentation>
  592. </xsd:annotation>
  593. <xsd:sequence>
  594. <xsd:element name="use-session-passivation" type="jboss:use-session-passivationType" minOccurs="0"/>
  595. <xsd:element name="passivation-min-idle-time" type="jboss:passivation-idle-timeType" minOccurs="0">
  596. <xsd:annotation>
  597. <xsd:documentation>
  598. <![CDATA[
  599. Determines the minimum time (in seconds) that a session must have been inactive
  600. before the container will consider passivating it in order to reduce the
  601. active session count below max-active-sessions.
  602. A value of -1 (the default) disables passivating sessions before
  603. passivation-max-idle-time. Neither a value of -1 nor a high
  604. value are recommended if max-active-sessions is set
  605. Example:
  606. <passivation-min-idle-time>30</passivation-min-idle-time> (seconds)
  607. ]]>
  608. </xsd:documentation>
  609. </xsd:annotation>
  610. </xsd:element>
  611. <xsd:element name="passivation-max-idle-time" type="jboss:passivation-idle-timeType" minOccurs="0">
  612. <xsd:annotation>
  613. <xsd:documentation>
  614. <![CDATA[
  615. Determines the maximum time (in seconds) that a session can be inactive before
  616. the container should attempt to passivate it to save memory. Passivation of such
  617. sessions will take place regardless of whether the active session count exceeds
  618. max-active-sessions.
  619. Should be less than the web.xml session-timeout setting.
  620. A value of -1 disables passivation based on maximum inactivity.
  621. Example:
  622. <passivation-max-idle-time>300</passivation-max-idle-time> (seconds)
  623. ]]>
  624. </xsd:documentation>
  625. </xsd:annotation>
  626. </xsd:element>
  627. </xsd:sequence>
  628. </xsd:complexType>
  629. <xsd:complexType name="use-session-passivationType">
  630. <xsd:annotation>
  631. <xsd:documentation>
  632. <![CDATA[
  633. Clustering only: Determines whether the web application should use session passivation or not
  634. Examples:
  635. <use-session-passivation>true</use-session-passivation>
  636. or
  637. <use-session-passivation>false</use-session-passivation> (default value)
  638. ]]>
  639. </xsd:documentation>
  640. </xsd:annotation>
  641. <xsd:simpleContent>
  642. <xsd:restriction base="javaee:generic-booleanType"/>
  643. </xsd:simpleContent>
  644. </xsd:complexType>
  645. <xsd:simpleType name="passivation-idle-timeType">
  646. <xsd:annotation>
  647. <xsd:documentation>
  648. <![CDATA[
  649. Determines the time (in seconds) that a session can be inactive before
  650. the container should attempt to passivate it.
  651. ]]>
  652. </xsd:documentation>
  653. </xsd:annotation>
  654. <xsd:restriction base="xsd:integer"/>
  655. </xsd:simpleType>
  656. <xsd:complexType name="annotationType">
  657. <xsd:annotation>
  658. <xsd:documentation>
  659. <![CDATA[
  660. The annotation element specifies annotation specific bindings. This allows
  661. overriding the @ServletSecurity, @RunAs and @MultipartConfig, which apply
  662. on a Servlet class rather than a Servlet name. They have the same structure
  663. and element names as the corresponding annotation.
  664. ]]>
  665. </xsd:documentation>
  666. </xsd:annotation>
  667. <xsd:sequence>
  668. <xsd:element name="class-name" type="javaee:string"/>
  669. <xsd:element name="servlet-security" type="jboss:servlet-securityType" minOccurs="0" maxOccurs="1"/>
  670. <xsd:element name="run-as" type="jboss:run-asType" minOccurs="0" maxOccurs="1"/>
  671. <xsd:element name="multipart-config" type="jboss:multipart-configType" minOccurs="0" maxOccurs="1"/>
  672. </xsd:sequence>
  673. </xsd:complexType>
  674. <xsd:complexType name="run-asType">
  675. <xsd:sequence>
  676. <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
  677. <xsd:element name="role-name" type="javaee:string"/>
  678. </xsd:sequence>
  679. </xsd:complexType>
  680. <xsd:complexType name="servlet-securityType">
  681. <xsd:sequence>
  682. <xsd:element name="empty-role-semantic" type="javaee:string"/>
  683. <xsd:element name="transport-guarantee" type="javaee:transport-guaranteeType"/>
  684. <xsd:element name="roles-allowed" type="javaee:role-nameType" minOccurs="0" maxOccurs="unbounded"/>
  685. <xsd:element name="http-method-constraint" type="jboss:http-method-constraintType" minOccurs="0" maxOccurs="unbounded"/>
  686. </xsd:sequence>
  687. </xsd:complexType>
  688. <xsd:complexType name="http-method-constraintType">
  689. <xsd:sequence>
  690. <xsd:element name="method" type="javaee:string" minOccurs="1" maxOccurs="1"/>
  691. <xsd:element name="empty-role-semantic" type="jboss:empty-role-semanticType"/>
  692. <xsd:element name="transport-guarantee" type="javaee:transport-guaranteeType"/>
  693. <xsd:element name="roles-allowed" type="javaee:role-nameType" minOccurs="0" maxOccurs="unbounded"/>
  694. </xsd:sequence>
  695. </xsd:complexType>
  696. <xsd:complexType name="empty-role-semanticType">
  697. <xsd:simpleContent>
  698. <xsd:restriction base="javaee:string">
  699. <xsd:enumeration value="PERMIT"/>
  700. <xsd:enumeration value="DENY"/>
  701. </xsd:restriction>
  702. </xsd:simpleContent>
  703. </xsd:complexType>
  704. <xsd:complexType name="multipart-configType">
  705. <xsd:sequence>
  706. <xsd:element name="location" type="javaee:string" minOccurs="0" maxOccurs="1"/>
  707. <xsd:element name="max-file-size" type="xsd:long" minOccurs="0" maxOccurs="1"/>
  708. <xsd:element name="max-request-size" type="xsd:long" minOccurs="0" maxOccurs="1"/>
  709. <xsd:element name="file-size-threshold" type="xsd:integer" minOccurs="0" maxOccurs="1"/>
  710. </xsd:sequence>
  711. </xsd:complexType>
  712. </xsd:schema>