jboss-web_7_0.xsd 37 KB

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