jboss-as-config_1_0.xsd 71 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. ~ JBoss, Home of Professional Open Source.
  4. ~ Copyright 2010, 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. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  24. xmlns="urn:jboss:domain:1.0"
  25. targetNamespace="urn:jboss:domain:1.0"
  26. elementFormDefault="qualified"
  27. attributeFormDefault="unqualified"
  28. >
  29. <xs:element name="domain">
  30. <xs:annotation>
  31. <xs:documentation>
  32. Root element for the master document specifying the core configuration
  33. for the servers in a domain. There should be one such master
  34. document per domain, available to the host controller that
  35. is configured to act as the domain controller.
  36. </xs:documentation>
  37. </xs:annotation>
  38. <xs:complexType>
  39. <xs:sequence>
  40. <xs:element name="extensions" type="extensionsType" minOccurs="0" maxOccurs="1"/>
  41. <xs:element name="system-properties" type="properties-with-boottime" minOccurs="0" maxOccurs="1"/>
  42. <xs:element name="paths" type="named-pathsType" minOccurs="0" maxOccurs="1" />
  43. <xs:element name="profiles" type="profilesType" minOccurs="0" maxOccurs="1"/>
  44. <xs:element name="interfaces" type="named-interfacesType" minOccurs="0" maxOccurs="1"/>
  45. <xs:element name="socket-binding-groups" type="socket-binding-groupsType" minOccurs="0" maxOccurs="1"/>
  46. <xs:element name="deployments" type="domain-deploymentsType" minOccurs="0" maxOccurs="1"/>
  47. <xs:element name="server-groups" type="server-groupsType" minOccurs="0" maxOccurs="1"/>
  48. </xs:sequence>
  49. </xs:complexType>
  50. </xs:element>
  51. <xs:element name="host">
  52. <xs:annotation>
  53. <xs:documentation>
  54. Root element for a document configuring a host controller and
  55. the group of servers under the control of that host controller.
  56. The standard usage would be for a domain to have one such host controller
  57. on each physical (or virtual) host machine. Emphasis in this
  58. document is on enumerating the servers, configuring items that
  59. are specific to the host environment (e.g. IP addresses), and
  60. on any server-specific configuration settings.
  61. </xs:documentation>
  62. </xs:annotation>
  63. <xs:complexType>
  64. <xs:sequence>
  65. <xs:element name="system-properties" type="properties-with-boottime" minOccurs="0"/>
  66. <xs:element name="paths" type="specified-pathsType" minOccurs="0" maxOccurs="1" />
  67. <xs:element name="management" type="managementType" minOccurs="0" maxOccurs="1"/>
  68. <xs:element name="domain-controller" type="domain-controllerType"/>
  69. <xs:element name="interfaces" type="specified-interfacesType" minOccurs="0"/>
  70. <xs:element name="jvms" type="jvmsType" minOccurs="0"/>
  71. <xs:element name="servers" type="serversType" minOccurs="0"/>
  72. </xs:sequence>
  73. <xs:attribute name="name" type="xs:string" use="optional">
  74. <xs:annotation>
  75. <xs:documentation>
  76. The name to use for this host's host controller. Must be
  77. unique across the domain. If not set, defaults to the
  78. runtime value of InetAddress.getLocalHost().getHostName().
  79. </xs:documentation>
  80. </xs:annotation>
  81. </xs:attribute>
  82. </xs:complexType>
  83. </xs:element>
  84. <xs:element name="server">
  85. <xs:annotation>
  86. <xs:documentation>
  87. Root element for a document specifying the configuration
  88. of a single "standalone" server that does not operate
  89. as part of a domain.
  90. Note that this element is distinct from the 'serverType'
  91. specified in this schema. The latter type forms part of the
  92. configuration of a server that operates as part of a domain.
  93. </xs:documentation>
  94. </xs:annotation>
  95. <xs:complexType>
  96. <xs:sequence>
  97. <xs:element name="extensions" type="extensionsType" minOccurs="0" maxOccurs="1"/>
  98. <xs:element name="system-properties" type="properties" minOccurs="0" maxOccurs="1"/>
  99. <xs:element name="paths" type="specified-pathsType" minOccurs="0" maxOccurs="1"/>
  100. <xs:element name="management" type="managementType" minOccurs="0" maxOccurs="1"/>
  101. <xs:element name="profile" type="standalone-profileType" minOccurs="0"/>
  102. <xs:element name="interfaces" type="specified-interfacesType" minOccurs="0" maxOccurs="1"/>
  103. <xs:element name="socket-binding-group" type="standalone-socket-binding-groupType" minOccurs="0" maxOccurs="1"/>
  104. <xs:element name="deployments" type="server-deploymentsType" minOccurs="0" maxOccurs="1"/>
  105. </xs:sequence>
  106. <xs:attribute name="name" type="xs:string" use="optional">
  107. <xs:annotation>
  108. <xs:documentation>
  109. The name to use for this server. If not set, defaults to
  110. the runtime value of InetAddress.getLocalHost().getHostName().
  111. </xs:documentation>
  112. </xs:annotation>
  113. </xs:attribute>
  114. </xs:complexType>
  115. </xs:element>
  116. <xs:complexType name="domain-managementType">
  117. <xs:annotation>
  118. <xs:documentation>
  119. Domain-wide default configuration settings for the management of standalone servers and a Host Controller.
  120. </xs:documentation>
  121. </xs:annotation>
  122. <xs:sequence>
  123. <xs:element name="security-realms" minOccurs="0">
  124. <xs:complexType>
  125. <xs:sequence>
  126. <xs:element name="security-realm" type="security-realmType" minOccurs="1"
  127. maxOccurs="unbounded"/>
  128. </xs:sequence>
  129. </xs:complexType>
  130. </xs:element>
  131. <xs:element name="outbound-connections" minOccurs="0">
  132. <xs:complexType>
  133. <xs:sequence>
  134. <xs:element name="ldap" type="ldapType" minOccurs="1" /> <!-- TODO minOccurs only while ldap is only supported connection. -->
  135. </xs:sequence>
  136. </xs:complexType>
  137. </xs:element>
  138. </xs:sequence>
  139. </xs:complexType>
  140. <xs:complexType name="managementType">
  141. <xs:annotation>
  142. <xs:documentation>
  143. The centralized configuration for the management of standalone servers and a Host Controller.
  144. </xs:documentation>
  145. </xs:annotation>
  146. <xs:complexContent>
  147. <xs:extension base="domain-managementType">
  148. <xs:sequence>
  149. <xs:element name="management-interfaces" type="management-interfacesType" minOccurs="0"/>
  150. </xs:sequence>
  151. </xs:extension>
  152. </xs:complexContent>
  153. </xs:complexType>
  154. <xs:complexType name="ldapType"> <!-- TODO - May extend from a common connection type for name -->
  155. <xs:annotation>
  156. <xs:documentation>
  157. The LDAP connection definition.
  158. </xs:documentation>
  159. </xs:annotation>
  160. <xs:attribute name="name" type="xs:string" use="required">
  161. <xs:annotation>
  162. <xs:documentation>
  163. The name of this connection.
  164. </xs:documentation>
  165. </xs:annotation>
  166. </xs:attribute>
  167. <xs:attribute name="url" type="xs:string" use="required">
  168. <xs:annotation>
  169. <xs:documentation>
  170. The URL to connect to ldap.
  171. </xs:documentation>
  172. </xs:annotation>
  173. </xs:attribute>
  174. <!-- TODO - Later will be optional if we support GSSAPI to connect to LDAP -->
  175. <xs:attribute name="search-dn" type="xs:string" use="required">
  176. <xs:annotation>
  177. <xs:documentation>
  178. The distinguished name to use when connecting to LDAP to perform searches.
  179. </xs:documentation>
  180. </xs:annotation>
  181. </xs:attribute>
  182. <xs:attribute name="search-credential" type="xs:string" use="required">
  183. <xs:annotation>
  184. <xs:documentation>
  185. The credential to use when connecting to perform a search.
  186. </xs:documentation>
  187. </xs:annotation>
  188. </xs:attribute>
  189. <!-- TODO - May drop this and just allow free name/value properties for extension. -->
  190. <xs:attribute name="initial-context-factory" type="xs:string" default="com.sun.jndi.ldap.LdapCtxFactory">
  191. <xs:annotation>
  192. <xs:documentation>
  193. The initial context factory to establish the LdapContext.
  194. </xs:documentation>
  195. </xs:annotation>
  196. </xs:attribute>
  197. </xs:complexType>
  198. <xs:complexType name="security-realmType">
  199. <xs:annotation>
  200. <xs:documentation>
  201. Configuration of a security realm for securing access to the management interfaces.
  202. </xs:documentation>
  203. </xs:annotation>
  204. <xs:sequence>
  205. <xs:element name="server-identities" type="server-identitiesType" minOccurs="0" />
  206. <xs:element name="authentication" type="authenticationType" minOccurs="0" />
  207. </xs:sequence>
  208. <xs:attribute name="name" type="xs:string" use="required">
  209. <xs:annotation>
  210. <xs:documentation>
  211. The name of this security-realm, each security-realm must be assigned a unique name.
  212. </xs:documentation>
  213. </xs:annotation>
  214. </xs:attribute>
  215. </xs:complexType>
  216. <xs:complexType name="server-identitiesType">
  217. <xs:annotation>
  218. <xs:documentation>
  219. Configuration of the identities that represent the server.
  220. </xs:documentation>
  221. </xs:annotation>
  222. <xs:sequence>
  223. <xs:element name="ssl" type="sslType" minOccurs="0" />
  224. <xs:element name="secret" type="secretType" minOccurs="0" />
  225. </xs:sequence>
  226. </xs:complexType>
  227. <xs:complexType name="secretType">
  228. <xs:annotation>
  229. <xs:documentation>
  230. Configuration of the SSL identity of this server.
  231. </xs:documentation>
  232. </xs:annotation>
  233. <xs:attribute name="value" type="xs:string" use="required">
  234. <xs:annotation>
  235. <xs:documentation>
  236. The secret / password - Base64 Encoded
  237. </xs:documentation>
  238. </xs:annotation>
  239. </xs:attribute>
  240. </xs:complexType>
  241. <xs:complexType name="sslType">
  242. <xs:annotation>
  243. <xs:documentation>
  244. Configuration of the SSL identity of this server.
  245. </xs:documentation>
  246. </xs:annotation>
  247. <xs:sequence>
  248. <xs:element name="keystore" type="keystoreType" />
  249. </xs:sequence>
  250. <xs:attribute name="protocol" type="xs:string" default="TLS">
  251. <xs:annotation>
  252. <xs:documentation>
  253. The protocol to use when creating the SSLContext.
  254. </xs:documentation>
  255. </xs:annotation>
  256. </xs:attribute>
  257. </xs:complexType>
  258. <xs:complexType name="keystoreType">
  259. <xs:annotation>
  260. <xs:documentation>
  261. The keystore configuration for the server.
  262. </xs:documentation>
  263. </xs:annotation>
  264. <xs:attribute name="relative-to" use="optional" type="xs:string">
  265. <xs:annotation>
  266. <xs:documentation>
  267. The name of another previously named path, or of one of the
  268. standard paths provided by the system. If 'relative-to' is
  269. provided, the value of the 'path' attribute is treated as
  270. relative to the path specified by this attribute.
  271. </xs:documentation>
  272. </xs:annotation>
  273. </xs:attribute>
  274. <xs:attribute name="path" type="xs:string" use="required">
  275. <xs:annotation>
  276. <xs:documentation>
  277. The path of the keystore.
  278. </xs:documentation>
  279. </xs:annotation>
  280. </xs:attribute>
  281. <xs:attribute name="password" type="xs:string" use="required">
  282. <xs:annotation>
  283. <xs:documentation>
  284. The password to open the keystore.
  285. </xs:documentation>
  286. </xs:annotation>
  287. </xs:attribute>
  288. </xs:complexType>
  289. <xs:complexType name="authenticationType">
  290. <xs:annotation>
  291. <xs:documentation>
  292. Configuration of the server side authentication mechanisms.
  293. </xs:documentation>
  294. </xs:annotation>
  295. <xs:choice>
  296. <xs:element name="ldap" type="ldapAuthenticationType" minOccurs="0" />
  297. <xs:element name="properties" type="propertiesAuthenticationType" minOccurs="0" />
  298. <xs:element name="users" type="usersAuthenticationType" minOccurs="0" />
  299. </xs:choice>
  300. <xs:attribute name="useDomainController" type="xs:boolean" default="false">
  301. <xs:annotation>
  302. <xs:documentation>
  303. Should the request delegate to the domain controller or handle the authentication locally.
  304. </xs:documentation>
  305. </xs:annotation>
  306. </xs:attribute>
  307. </xs:complexType>
  308. <xs:complexType name="ldapAuthenticationType">
  309. <xs:annotation>
  310. <xs:documentation>
  311. Definition to use LDAP as the user repository.
  312. </xs:documentation>
  313. </xs:annotation>
  314. <xs:attribute name="connection" type="xs:string" use="required">
  315. <xs:annotation>
  316. <xs:documentation>
  317. The name of the connection to use to connect to LDAP.
  318. </xs:documentation>
  319. </xs:annotation>
  320. </xs:attribute>
  321. <xs:attribute name="base-dn" type="xs:string" use="required">
  322. <xs:annotation>
  323. <xs:documentation>
  324. The base distinguished name to commence the search for the user.
  325. </xs:documentation>
  326. </xs:annotation>
  327. </xs:attribute>
  328. <xs:attribute name="username-attribute" type="xs:string" use="required">
  329. <xs:annotation>
  330. <xs:documentation>
  331. The name of the attribute to search for the user.
  332. </xs:documentation>
  333. </xs:annotation>
  334. </xs:attribute>
  335. <xs:attribute name="recursive" type="xs:boolean" default="false">
  336. <xs:annotation>
  337. <xs:documentation>
  338. Should the search be recursive.
  339. </xs:documentation>
  340. </xs:annotation>
  341. </xs:attribute>
  342. <xs:attribute name="user-dn" type="xs:string" default="dn">
  343. <xs:annotation>
  344. <xs:documentation>
  345. The name of the attribute which is the users distinguished name.
  346. </xs:documentation>
  347. </xs:annotation>
  348. </xs:attribute>
  349. </xs:complexType>
  350. <xs:complexType name="usersAuthenticationType">
  351. <xs:annotation>
  352. <xs:documentation>
  353. A set of users
  354. </xs:documentation>
  355. </xs:annotation>
  356. <xs:sequence>
  357. <xs:element name="user" type="userType" maxOccurs="unbounded"/>
  358. </xs:sequence>
  359. </xs:complexType>
  360. <xs:complexType name="userType">
  361. <xs:annotation>
  362. <xs:documentation>
  363. A single user.
  364. </xs:documentation>
  365. </xs:annotation>
  366. <xs:choice>
  367. <xs:element name="password" type="xs:string" />
  368. </xs:choice>
  369. <xs:attribute name="username" type="xs:string" use="required">
  370. <xs:annotation>
  371. <xs:documentation>
  372. The users username.
  373. </xs:documentation>
  374. </xs:annotation>
  375. </xs:attribute>
  376. </xs:complexType>
  377. <xs:complexType name="propertiesAuthenticationType">
  378. <xs:annotation>
  379. <xs:documentation>
  380. Declaration of users stored within properties files.
  381. </xs:documentation>
  382. </xs:annotation>
  383. <xs:attribute name="relative-to" use="optional" type="xs:string">
  384. <xs:annotation>
  385. <xs:documentation>
  386. The name of another previously named path, or of one of the
  387. standard paths provided by the system. If 'relative-to' is
  388. provided, the value of the 'path' attribute is treated as
  389. relative to the path specified by this attribute.
  390. </xs:documentation>
  391. </xs:annotation>
  392. </xs:attribute>
  393. <xs:attribute name="path" type="xs:string" use="required">
  394. <xs:annotation>
  395. <xs:documentation>
  396. The path of the properties file containing the users.
  397. </xs:documentation>
  398. </xs:annotation>
  399. </xs:attribute>
  400. </xs:complexType>
  401. <xs:complexType name="management-interfaceType">
  402. <xs:annotation>
  403. <xs:documentation>
  404. Configuration of a host's or standalone server's exposed management interface.
  405. </xs:documentation>
  406. </xs:annotation>
  407. <xs:attribute name="interface" type="xs:string" use="required">
  408. <xs:annotation>
  409. <xs:documentation>
  410. Network interface on which the host's socket for
  411. management communication should be opened.
  412. </xs:documentation>
  413. </xs:annotation>
  414. </xs:attribute>
  415. <xs:attribute name="port" type="xs:int" use="optional">
  416. <xs:annotation>
  417. <xs:documentation>
  418. Port on which the host's socket for
  419. management communication should be opened.
  420. If not specified the port will not be opened.
  421. </xs:documentation>
  422. </xs:annotation>
  423. </xs:attribute>
  424. <xs:attribute name="secure-port" type="xs:int" use="optional">
  425. <xs:annotation>
  426. <xs:documentation>
  427. Secure port on which the host's socket for
  428. management communication should be opened.
  429. If not specified the port will not be opened.
  430. If specified the security-realm will be required to obtain
  431. the SSL configuration.
  432. </xs:documentation>
  433. </xs:annotation>
  434. </xs:attribute>
  435. <xs:attribute name="security-realm" type="xs:string" use="optional">
  436. <xs:annotation>
  437. <xs:documentation>
  438. The security realm to use for this management interface, the capabilities
  439. of the security realm will be queried to identify the authentication mechanism(s) to
  440. offer.
  441. </xs:documentation>
  442. </xs:annotation>
  443. </xs:attribute>
  444. </xs:complexType>
  445. <xs:complexType name="management-interfacesType">
  446. <xs:all minOccurs="0">
  447. <xs:element name="native-interface" type="management-interfaceType"/>
  448. <xs:element name="http-interface" type="management-interfaceType"/>
  449. </xs:all>
  450. </xs:complexType>
  451. <xs:complexType name="domain-controllerType">
  452. <xs:choice>
  453. <xs:element name="local" type="domain-controller-localType"/>
  454. <xs:element name="remote" type="domain-controller-remoteType"/>
  455. </xs:choice>
  456. </xs:complexType>
  457. <xs:complexType name="domain-controller-localType" />
  458. <xs:complexType name="domain-controller-remoteType">
  459. <xs:attribute name="host" type="xs:string" use="required" />
  460. <xs:attribute name="port" type="xs:integer" use="required" />
  461. <xs:attribute name="security-realm" type="xs:string" use="optional" />
  462. </xs:complexType>
  463. <xs:complexType name="serversType">
  464. <xs:sequence>
  465. <xs:element name="server" type="serverType" minOccurs="0" maxOccurs="unbounded"/>
  466. </xs:sequence>
  467. </xs:complexType>
  468. <xs:complexType name="serverType">
  469. <xs:all>
  470. <xs:element name="paths" type="specified-pathsType" minOccurs="0" maxOccurs="1" />
  471. <xs:element name="interface-specs" type="specified-interfacesType" minOccurs="0"/>
  472. <xs:element name="socket-binding-group" type="socket-binding-group-refType" minOccurs="0"/>
  473. <!--<xs:element name="loggers" type="loggersType" minOccurs="0"/>-->
  474. <xs:element name="system-properties" type="properties-with-boottime" minOccurs="0"/>
  475. <xs:element name="jvm" minOccurs="0" type="serverJvmType"/>
  476. </xs:all>
  477. <xs:attribute name="name" type="xs:string" use="required"/>
  478. <xs:attribute name="group" type="xs:string" use="required"/>
  479. <xs:attribute name="auto-start" type="xs:boolean" default="true"/>
  480. </xs:complexType>
  481. <xs:complexType name="extensionsType">
  482. <xs:annotation>
  483. <xs:documentation>Contains a list of extension modules.</xs:documentation>
  484. </xs:annotation>
  485. <xs:sequence>
  486. <xs:element name="extension" type="extensionType" minOccurs="1" maxOccurs="unbounded"/>
  487. </xs:sequence>
  488. </xs:complexType>
  489. <xs:complexType name="extensionType">
  490. <xs:annotation>
  491. <xs:documentation>
  492. A module that extends the standard capabilities of a domain
  493. or a standalone server.
  494. </xs:documentation>
  495. </xs:annotation>
  496. <xs:attribute name="module" use="required" type="xs:string">
  497. <xs:annotation>
  498. <xs:documentation>The name of the module</xs:documentation>
  499. </xs:annotation>
  500. </xs:attribute>
  501. </xs:complexType>
  502. <xs:complexType name="server-groupsType">
  503. <xs:sequence>
  504. <xs:element name="server-group" type="server-groupType" minOccurs="0" maxOccurs="unbounded"/>
  505. </xs:sequence>
  506. </xs:complexType>
  507. <xs:complexType name="server-groupType">
  508. <xs:sequence>
  509. <xs:element name="jvm" type="namedJvmType" minOccurs="0"/>
  510. <xs:element name="socket-binding-group" type="socket-binding-group-refType" minOccurs="1"/>
  511. <xs:element name="deployments" type="server-groupDeploymentsType" minOccurs="0"/>
  512. <xs:element name="system-properties" minOccurs="0" type="properties-with-boottime"/>
  513. </xs:sequence>
  514. <xs:attribute name="name" type="xs:string">
  515. <xs:annotation>
  516. <xs:documentation>
  517. The name of the server group
  518. </xs:documentation>
  519. </xs:annotation>
  520. </xs:attribute>
  521. <xs:attribute name="profile" type="xs:string">
  522. <xs:annotation>
  523. <xs:documentation>
  524. The name of the profile this server is running.
  525. </xs:documentation>
  526. </xs:annotation>
  527. </xs:attribute>
  528. </xs:complexType>
  529. <xs:complexType name="server-groupDeploymentsType">
  530. <xs:annotation>
  531. <xs:documentation>Contains a list of deployments that have been mapped to a server-group.</xs:documentation>
  532. </xs:annotation>
  533. <xs:sequence>
  534. <xs:element name="deployment" type="base-deploymentType" maxOccurs="unbounded"/>
  535. </xs:sequence>
  536. </xs:complexType>
  537. <xs:complexType name="base-deploymentType">
  538. <xs:attribute name="name" use="required">
  539. <xs:annotation>
  540. <xs:documentation>Unique identifier of the deployment. Must be unique across all deployments.
  541. </xs:documentation>
  542. </xs:annotation>
  543. </xs:attribute>
  544. <xs:attribute name="runtime-name" use="required">
  545. <xs:annotation>
  546. <xs:documentation>Name by which the deployment will be known within a running server.of the deployment.
  547. Does not need to be unique across all deployments in the domain, although it must be unique within
  548. an individual server. For example, two different deployments running on different servers in
  549. the domain could both have a 'runtime-name' of 'example.war', with one having a 'name'
  550. of 'example.war_v1' and another with an 'name' of 'example.war_v2'.
  551. </xs:documentation>
  552. </xs:annotation>
  553. </xs:attribute>
  554. </xs:complexType><xs:complexType name="server-deploymentsType">
  555. <xs:annotation>
  556. <xs:documentation>Contains a list of deployments that have been mapped to a server.</xs:documentation>
  557. </xs:annotation>
  558. <xs:sequence>
  559. <xs:element name="deployment" type="server-deploymentType" maxOccurs="unbounded"/>
  560. </xs:sequence>
  561. </xs:complexType>
  562. <xs:complexType name="server-deploymentType">
  563. <xs:annotation>
  564. <xs:documentation>A deployment that has been mapped to a server.</xs:documentation>
  565. </xs:annotation>
  566. <xs:complexContent>
  567. <xs:extension base="base-deploymentType">
  568. <xs:sequence>
  569. <!-- TODO: maxOccurs should be unbounded once overlays are in place -->
  570. <xs:choice maxOccurs="1">
  571. <xs:element name="content" type="contentType"/>
  572. <xs:element name="fs-archive" type="fs-archiveType"/>
  573. <xs:element name="fs-exploded" type="fs-explodedType"/>
  574. </xs:choice>
  575. </xs:sequence>
  576. <!-- TODO clarify what a value of 'false' means -->
  577. <xs:attribute name="enabled" use="optional" type="xs:boolean" default="true">
  578. <xs:annotation>
  579. <xs:documentation>Whether the deployment deploy automatically when the server starts up.
  580. </xs:documentation>
  581. </xs:annotation>
  582. </xs:attribute>
  583. </xs:extension>
  584. </xs:complexContent>
  585. </xs:complexType>
  586. <xs:complexType name="contentType">
  587. <xs:attribute name="sha1" use="required">
  588. <xs:annotation>
  589. <xs:documentation>The checksum of the content</xs:documentation>
  590. </xs:annotation>
  591. </xs:attribute>
  592. </xs:complexType>
  593. <xs:complexType name="fs-archiveType">
  594. <xs:annotation>
  595. <xs:documentation>Archived content found on the filesystem</xs:documentation>
  596. </xs:annotation>
  597. <xs:complexContent>
  598. <xs:extension base="fs-baseType"/>
  599. </xs:complexContent>
  600. </xs:complexType>
  601. <xs:complexType name="fs-baseType">
  602. <xs:complexContent>
  603. <xs:extension base="pathType"/>
  604. </xs:complexContent>
  605. <!-- TODO: make path required
  606. <xs:complexContent>
  607. <xs:restriction base="pathType">
  608. <xs:attribute name="path" use="required"/>
  609. </xs:restriction>
  610. </xs:complexContent>
  611. -->
  612. </xs:complexType>
  613. <xs:complexType name="fs-explodedType">
  614. <xs:annotation>
  615. <xs:documentation>Exploded content found on the filesystem</xs:documentation>
  616. </xs:annotation>
  617. <xs:complexContent>
  618. <xs:extension base="fs-baseType"/>
  619. </xs:complexContent>
  620. </xs:complexType>
  621. <xs:complexType name="domain-deploymentsType">
  622. <xs:annotation>
  623. <xs:documentation>Contains a list of domain-level deployments</xs:documentation>
  624. </xs:annotation>
  625. <xs:sequence>
  626. <xs:element name="deployment" type="domain-deploymentType" maxOccurs="unbounded"/>
  627. </xs:sequence>
  628. </xs:complexType>
  629. <xs:complexType name="domain-deploymentType">
  630. <xs:annotation>
  631. <xs:documentation>Deployment represents anything that can be deployed (e.g. an application such as EJB-JAR,
  632. WAR, EAR,
  633. any kind of standard archive such as RAR or JBoss-specific deployment),
  634. which can be enabled or disabled on a domain level.
  635. </xs:documentation>
  636. </xs:annotation>
  637. <xs:complexContent>
  638. <xs:extension base="base-deploymentType">
  639. <xs:sequence>
  640. <!-- TODO: maxOccurs should be unbounded once overlays are in place -->
  641. <xs:choice maxOccurs="1">
  642. <xs:element name="content" type="contentType"/>
  643. <xs:element name="fs-archive" type="fs-archiveType"/>
  644. <xs:element name="fs-exploded" type="fs-explodedType"/>
  645. </xs:choice>
  646. </xs:sequence>
  647. </xs:extension>
  648. </xs:complexContent>
  649. </xs:complexType>
  650. <!-- TODO this is not used anywhere yet -->
  651. <xs:complexType name="clustersType">
  652. <xs:complexContent>
  653. <xs:extension base="server-groupType">
  654. <xs:sequence>
  655. <xs:element name="partition-name" type="xs:string"/>
  656. <xs:element name="state-transfer-timeout" type="xs:integer"/>
  657. <xs:element name="method-call-timeout" type="xs:integer"/>
  658. </xs:sequence>
  659. <xs:attribute name="category" type="xs:string" use="required"/>
  660. </xs:extension>
  661. </xs:complexContent>
  662. </xs:complexType>
  663. <!-- domain-configuration related definitions -->
  664. <xs:complexType name="domain-configurationType">
  665. <xs:annotation>
  666. <xs:documentation>The domain controller/server bootstrap configuration</xs:documentation>
  667. </xs:annotation>
  668. <xs:sequence>
  669. <xs:element ref="bootstrapURI"/>
  670. </xs:sequence>
  671. </xs:complexType>
  672. <xs:element name="bootstrapURI" type="xs:string">
  673. <xs:annotation>
  674. <xs:documentation>The URI for bootstrapping a domain server</xs:documentation>
  675. </xs:annotation>
  676. </xs:element>
  677. <xs:complexType name="profilesType">
  678. <xs:annotation>
  679. <xs:documentation>Contains a list of profiles available for use in the domain</xs:documentation>
  680. </xs:annotation>
  681. <xs:sequence>
  682. <xs:element name="profile" type="domain-profileType" minOccurs="1" maxOccurs="unbounded"/>
  683. </xs:sequence>
  684. </xs:complexType>
  685. <xs:complexType name="domain-profileType">
  686. <xs:annotation>
  687. <xs:documentation>Contains a list of subsystems</xs:documentation>
  688. </xs:annotation>
  689. <xs:sequence>
  690. <xs:element name="include" type="profile-includeType" minOccurs="0" maxOccurs="unbounded"/>
  691. <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded">
  692. <xs:annotation>
  693. <xs:documentation>A profile declaration may include configuration
  694. elements from other namespaces for the subsystems that make up the profile.
  695. </xs:documentation>
  696. </xs:annotation>
  697. </xs:any>
  698. </xs:sequence>
  699. <xs:attribute name="name" type="xs:string" use="required">
  700. <xs:annotation>
  701. <xs:documentation>Name of the profile</xs:documentation>
  702. </xs:annotation>
  703. </xs:attribute>
  704. </xs:complexType>
  705. <xs:complexType name="profile-includeType">
  706. <xs:annotation>
  707. <xs:documentation>Specifies that a contents of a named profile are to be included in
  708. the profile whose definition includes this type.
  709. </xs:documentation>
  710. </xs:annotation>
  711. <xs:attribute name="profile" use="required">
  712. <xs:annotation>
  713. <xs:documentation>Name of the profile to include</xs:documentation>
  714. </xs:annotation>
  715. </xs:attribute>
  716. </xs:complexType>
  717. <xs:complexType name="standalone-profileType">
  718. <xs:annotation>
  719. <xs:documentation>Contains a list of subsystems</xs:documentation>
  720. </xs:annotation>
  721. <xs:sequence>
  722. <xs:choice minOccurs="1" maxOccurs="unbounded">
  723. <xs:any namespace="##other">
  724. <xs:annotation>
  725. <xs:documentation>A profile declaration may include configuration
  726. elements from other namespaces for the subsystems that make up the profile.
  727. </xs:documentation>
  728. </xs:annotation>
  729. </xs:any>
  730. </xs:choice>
  731. </xs:sequence>
  732. </xs:complexType>
  733. <!-- general socket definition -->
  734. <xs:complexType name="socket-binding-groupsType">
  735. <xs:annotation>
  736. <xs:documentation>Contains a list of socket binding groups</xs:documentation>
  737. </xs:annotation>
  738. <xs:sequence>
  739. <xs:element name="socket-binding-group" type="socket-binding-groupType" maxOccurs="unbounded"/>
  740. </xs:sequence>
  741. </xs:complexType>
  742. <xs:complexType name="socket-binding-groupType">
  743. <xs:annotation>
  744. <xs:documentation>Contains a list of socket configurations</xs:documentation>
  745. </xs:annotation>
  746. <xs:sequence>
  747. <xs:element name="include" type="socket-binding-group-includeType" minOccurs="0" maxOccurs="unbounded"/>
  748. <xs:element name="socket-binding" type="socket-bindingType" maxOccurs="unbounded"/>
  749. </xs:sequence>
  750. <xs:attribute name="name" type="xs:string" use="required"/>
  751. <xs:attribute name="default-interface" type="xs:string" use="required">
  752. <xs:annotation>
  753. <xs:documentation>
  754. Name of an interface that should be used as the interface for
  755. any sockets that do not explicitly declare one.
  756. </xs:documentation>
  757. </xs:annotation>
  758. </xs:attribute>
  759. </xs:complexType>
  760. <xs:complexType name="socket-binding-group-includeType">
  761. <xs:annotation>
  762. <xs:documentation>Specifies that a contents of a named socket-binding-group are to be included in
  763. the socket-binding-group whose definition includes this type.
  764. </xs:documentation>
  765. </xs:annotation>
  766. <xs:attribute name="socket-binding-group" use="required">
  767. <xs:annotation>
  768. <xs:documentation>Name of the socket-binding-group to include</xs:documentation>
  769. </xs:annotation>
  770. </xs:attribute>
  771. </xs:complexType>
  772. <xs:complexType name="standalone-socket-binding-groupType">
  773. <xs:annotation>
  774. <xs:documentation>Contains a list of socket configurations</xs:documentation>
  775. </xs:annotation>
  776. <xs:sequence>
  777. <xs:element name="socket-binding" type="socket-bindingType" maxOccurs="unbounded"/>
  778. </xs:sequence>
  779. <xs:attribute name="name" type="xs:string" use="required"/>
  780. <xs:attribute name="default-interface" type="xs:string" use="required">
  781. <xs:annotation>
  782. <xs:documentation>
  783. Name of an interface that should be used as the interface for
  784. any sockets that do not explicitly declare one.
  785. </xs:documentation>
  786. </xs:annotation>
  787. </xs:attribute>
  788. <xs:attribute name="port-offset" type="xs:int" use="optional" default="0">
  789. <xs:annotation>
  790. <xs:documentation>
  791. Increment to apply to the base port values defined in the
  792. socket group to derive the values to use on this
  793. server.
  794. </xs:documentation>
  795. </xs:annotation>
  796. </xs:attribute>
  797. </xs:complexType>
  798. <xs:complexType name="socket-bindingType">
  799. <xs:annotation>
  800. <xs:documentation>Configuration information for a socket.</xs:documentation>
  801. </xs:annotation>
  802. <xs:attribute name="name" type="xs:string" use="required"/>
  803. <xs:attribute name="interface" type="xs:string" use="optional">
  804. <xs:annotation>
  805. <xs:documentation>
  806. Name of the interface to which the socket should be bound, or, for multicast
  807. sockets, the interface on which it should listen. This should
  808. be one of the declared interfaces.
  809. </xs:documentation>
  810. </xs:annotation>
  811. </xs:attribute>
  812. <xs:attribute name="port" type="xs:unsignedShort" use="optional" default="0">
  813. <xs:annotation>
  814. <xs:documentation>
  815. Number of the port to which the socket should be bound.
  816. </xs:documentation>
  817. </xs:annotation>
  818. </xs:attribute>
  819. <xs:attribute name="fixed-port" type="xs:boolean" use="optional" default="false">
  820. <xs:annotation>
  821. <xs:documentation>
  822. Whether the port value should remain fixed even if numerically offsets
  823. are applied to the other sockets in the socket group..
  824. </xs:documentation>
  825. </xs:annotation>
  826. </xs:attribute>
  827. <xs:attribute name="multicast-address" type="xs:string" use="optional">
  828. <xs:annotation>
  829. <xs:documentation>
  830. Multicast address on which the socket should receive multicast
  831. traffic. If unspecified, the socket will not be configured
  832. to receive multicast.
  833. </xs:documentation>
  834. </xs:annotation>
  835. </xs:attribute>
  836. <xs:attribute name="multicast-port" type="xs:positiveInteger" use="optional">
  837. <xs:annotation>
  838. <xs:documentation>
  839. Port on which the socket should receive multicast
  840. traffic. Must be configured if 'multicast-address' is configured.
  841. </xs:documentation>
  842. </xs:annotation>
  843. </xs:attribute>
  844. </xs:complexType>
  845. <xs:complexType name="socket-binding-group-refType">
  846. <xs:attribute name="ref" type="xs:string">
  847. <xs:annotation>
  848. <xs:documentation>
  849. The socket group to use for the server group or server.
  850. </xs:documentation>
  851. </xs:annotation>
  852. </xs:attribute>
  853. <xs:attribute name="port-offset" type="xs:int" default="0">
  854. <xs:annotation>
  855. <xs:documentation>
  856. Increment to apply to the base port values defined in the
  857. referenced socket group to derive the values to use on this
  858. server.
  859. </xs:documentation>
  860. </xs:annotation>
  861. </xs:attribute>
  862. </xs:complexType>
  863. <xs:complexType name="named-interfacesType">
  864. <xs:annotation>
  865. <xs:documentation>
  866. A list of named network interfaces. The interfaces may or may
  867. not be fully specified (i.e. include criteria on how to determine
  868. their IP address.)
  869. </xs:documentation>
  870. </xs:annotation>
  871. <xs:sequence>
  872. <xs:element name="interface" type="named-interfaceType" minOccurs="0" maxOccurs="unbounded"/>
  873. </xs:sequence>
  874. </xs:complexType>
  875. <!-- TODO make this and specified-interfaceType the same except for interface-criteriaGroup minOccurs -->
  876. <xs:complexType name="named-interfaceType">
  877. <xs:annotation>
  878. <xs:documentation>
  879. A named network interface, but without any criteria
  880. for determining the IP address to associate with that interface.
  881. Acts as a placeholder in the model (e.g. at the domain level)
  882. until a fully specified interface definition is applied at a
  883. lower level (e.g. at the server level, where available addresses
  884. are known.)
  885. </xs:documentation>
  886. </xs:annotation>
  887. <xs:group ref="interface-criteriaGroup" minOccurs="0"/>
  888. <xs:attribute name="name" type="xs:string" use="required"/>
  889. </xs:complexType>
  890. <xs:complexType name="specified-interfacesType">
  891. <xs:annotation>
  892. <xs:documentation>
  893. A list of fully specified named network interfaces.
  894. </xs:documentation>
  895. </xs:annotation>
  896. <xs:sequence>
  897. <xs:element name="interface" type="specified-interfaceType" minOccurs="0" maxOccurs="unbounded"/>
  898. </xs:sequence>
  899. </xs:complexType>
  900. <xs:complexType name="specified-interfaceType">
  901. <xs:annotation>
  902. <xs:documentation>
  903. A named network interface, along with required criteria
  904. for determining the IP address to associate with that interface.
  905. </xs:documentation>
  906. </xs:annotation>
  907. <xs:group ref="interface-criteriaGroup" minOccurs="1"/>
  908. <xs:attribute name="name" type="xs:string" use="required"/>
  909. </xs:complexType>
  910. <xs:group name="interface-criteriaGroup">
  911. <xs:annotation>
  912. <xs:documentation>
  913. A set of criteria that can be used at runtime to determine
  914. what IP address to use for an interface.
  915. </xs:documentation>
  916. </xs:annotation>
  917. <xs:choice>
  918. <xs:element name="any-address" type="any-addressType"/>
  919. <xs:element name="any-ipv6-address" type="any-ipv6-addressType"/>
  920. <xs:element name="any-ipv4-address" type="any-ipv4-addressType"/>
  921. <xs:choice maxOccurs="unbounded">
  922. <xs:element name="inet-address" type="inet-addressType"/>
  923. <xs:element name="loopback" type="loopbackType"/>
  924. <xs:element name="loopback-address" type="loopback-addressType"/>
  925. <xs:element name="multicast" type="multicastType"/>
  926. <xs:element name="point-to-point" type="point-to-pointType"/>
  927. <xs:element name="virtual" type="interface-virtualType"/>
  928. <xs:element name="up" type="interface-upType"/>
  929. <xs:element name="public-address" type="public-addressType"/>
  930. <xs:element name="link-local-address" type="link-local-addressType"/>
  931. <xs:element name="site-local-address" type="site-local-addressType"/>
  932. <xs:element name="nic" type="nicType"/>
  933. <xs:element name="nic-match" type="nic-matchType"/>
  934. <xs:element name="subnet-match" type="subnet-matchType"/>
  935. <xs:element name="not" type="address-exclusionType"/>
  936. <xs:element name="any" type="address-exclusionType"/>
  937. </xs:choice>
  938. </xs:choice>
  939. </xs:group>
  940. <xs:complexType name="inet-addressType">
  941. <xs:attribute name="value" type="xs:string" use="required">
  942. <xs:annotation>
  943. <xs:documentation>
  944. Either a IP address in IPv6 or IPv4 dotted decimal notation,
  945. or a hostname that can be resolved to an IP address.
  946. </xs:documentation>
  947. </xs:annotation>
  948. </xs:attribute>
  949. </xs:complexType>
  950. <xs:complexType name="nicType">
  951. <xs:attribute name="name" type="xs:string" use="required">
  952. <xs:annotation>
  953. <xs:documentation>
  954. The name of a network interface (e.g. eth0, eth1, lo).
  955. </xs:documentation>
  956. </xs:annotation>
  957. </xs:attribute>
  958. </xs:complexType>
  959. <xs:complexType name="nic-matchType">
  960. <xs:attribute name="pattern" type="xs:string" use="required">
  961. <xs:annotation>
  962. <xs:documentation>
  963. A regular expression against which the names of the network
  964. interfaces available on the machine can be matched to find
  965. an acceptable interface.
  966. </xs:documentation>
  967. </xs:annotation>
  968. </xs:attribute>
  969. </xs:complexType>
  970. <xs:complexType name="subnet-matchType">
  971. <xs:attribute name="value" type="xs:string" use="required">
  972. <xs:annotation>
  973. <xs:documentation>
  974. A network IP address and the number of bits in the
  975. address' network prefix, written in "slash notation";
  976. e.g. "192.168.0.0/16".
  977. </xs:documentation>
  978. </xs:annotation>
  979. </xs:attribute>
  980. </xs:complexType>
  981. <xs:complexType name="address-exclusionType">
  982. <xs:choice>
  983. <xs:element name="inet-address" type="inet-addressType"/>
  984. <xs:element name="loopback" type="loopbackType"/>
  985. <xs:element name="loopback-address" type="loopback-addressType"/>
  986. <xs:element name="multicast" type="multicastType"/>
  987. <xs:element name="point-to-point" type="point-to-pointType"/>
  988. <xs:element name="virtual" type="interface-virtualType"/>
  989. <xs:element name="up" type="interface-upType"/>
  990. <xs:element name="public-address" type="public-addressType"/>
  991. <xs:element name="link-local-address" type="link-local-addressType"/>
  992. <xs:element name="site-local-address" type="site-local-addressType"/>
  993. <xs:element name="nic" type="nicType" minOccurs="0" maxOccurs="unbounded"/>
  994. <xs:element name="nic-match" type="nic-matchType" minOccurs="0" maxOccurs="unbounded"/>
  995. <xs:element name="subnet-match" type="subnet-matchType" minOccurs="0" maxOccurs="unbounded"/>
  996. </xs:choice>
  997. </xs:complexType>
  998. <xs:complexType name="loopbackType">
  999. <xs:annotation>
  1000. <xs:documentation>
  1001. Empty element indicating that part of the selection criteria
  1002. for an interface should be whether or not it is a loopback
  1003. interface.
  1004. </xs:documentation>
  1005. </xs:annotation>
  1006. </xs:complexType>
  1007. <xs:complexType name="loopback-addressType">
  1008. <xs:annotation>
  1009. <xs:documentation>
  1010. A loopback address that may not actually configured on the machine's loopback interface.
  1011. Differs from inet-addressType in that the given value will be used even if no NIC can
  1012. be found that has the IP address associated with it.
  1013. </xs:documentation>
  1014. </xs:annotation>
  1015. <xs:attribute name="value" type="xs:string" use="required">
  1016. <xs:annotation>
  1017. <xs:documentation>
  1018. An IP address in IPv6 or IPv4 dotted decimal notation.
  1019. </xs:documentation>
  1020. </xs:annotation>
  1021. </xs:attribute>
  1022. </xs:complexType>
  1023. <xs:complexType name="multicastType">
  1024. <xs:annotation>
  1025. <xs:documentation>
  1026. Empty element indicating that part of the selection criteria
  1027. for an interface should be whether or not it supports
  1028. multicast.
  1029. </xs:documentation>
  1030. </xs:annotation>
  1031. </xs:complexType>
  1032. <xs:complexType name="point-to-pointType">
  1033. <xs:annotation>
  1034. <xs:documentation>
  1035. Empty element indicating that part of the selection criteria
  1036. for an interface should be whether or not it is a point-to-point
  1037. interface.
  1038. </xs:documentation>
  1039. </xs:annotation>
  1040. </xs:complexType>
  1041. <xs:complexType name="interface-upType">
  1042. <xs:annotation>
  1043. <xs:documentation>
  1044. Empty element indicating that part of the selection criteria
  1045. for an interface should be whether or not it is currently up.
  1046. </xs:documentation>
  1047. </xs:annotation>
  1048. </xs:complexType>
  1049. <xs:complexType name="interface-virtualType">
  1050. <xs:annotation>
  1051. <xs:documentation>
  1052. Empty element indicating that part of the selection criteria
  1053. for an interface should be whether or not it is a virtual
  1054. interface.
  1055. </xs:documentation>
  1056. </xs:annotation>
  1057. </xs:complexType>
  1058. <xs:complexType name="public-addressType">
  1059. <xs:annotation>
  1060. <xs:documentation>
  1061. Empty element indicating that part of the selection criteria
  1062. for an interface should be whether or not it has a publicly
  1063. routable address.
  1064. </xs:documentation>
  1065. </xs:annotation>
  1066. </xs:complexType>
  1067. <xs:complexType name="site-local-addressType">
  1068. <xs:annotation>
  1069. <xs:documentation>
  1070. Empty element indicating that part of the selection criteria
  1071. for an interface should be whether or not an address associated
  1072. with it is site-local.
  1073. </xs:documentation>
  1074. </xs:annotation>
  1075. </xs:complexType>
  1076. <xs:complexType name="link-local-addressType">
  1077. <xs:annotation>
  1078. <xs:documentation>
  1079. Empty element indicating that part of the selection criteria
  1080. for an interface should be whether or not an address associated
  1081. with it is link-local.
  1082. </xs:documentation>
  1083. </xs:annotation>
  1084. </xs:complexType>
  1085. <xs:complexType name="any-ipv6-addressType">
  1086. <xs:annotation>
  1087. <xs:documentation>
  1088. Empty element indicating that sockets using this interface
  1089. should be bound to the IPv6 wildcard address (::).
  1090. </xs:documentation>
  1091. </xs:annotation>
  1092. </xs:complexType>
  1093. <xs:complexType name="any-ipv4-addressType">
  1094. <xs:annotation>
  1095. <xs:documentation>
  1096. Empty element indicating that sockets using this interface
  1097. should be bound to the IPv4 wildcard address (0.0.0.0).
  1098. </xs:documentation>
  1099. </xs:annotation>
  1100. </xs:complexType>
  1101. <xs:complexType name="any-addressType">
  1102. <xs:annotation>
  1103. <xs:documentation>
  1104. Empty element indicating that sockets using this interface
  1105. should be bound to a wildcard address. The IPv6 wildcard
  1106. address (::) will be used unless the java.net.preferIpV4Stack
  1107. system property is set to true, in which case the IPv4
  1108. wildcard address (0.0.0.0) will be used. If a socket is
  1109. bound to an IPv6 anylocal address on a dual-stack machine,
  1110. it can accept both IPv6 and IPv4 traffic; if it is bound to
  1111. an IPv4 (IPv4-mapped) anylocal address, it can only accept
  1112. IPv4 traffic.
  1113. </xs:documentation>
  1114. </xs:annotation>
  1115. </xs:complexType>
  1116. <xs:complexType name="socketType">
  1117. <xs:annotation>
  1118. <xs:documentation>Configuration information for a socket.</xs:documentation>
  1119. </xs:annotation>
  1120. <xs:attribute name="name" type="xs:string" use="required"/>
  1121. <xs:attribute name="interface" type="xs:string" use="optional">
  1122. <xs:annotation>
  1123. <xs:documentation>
  1124. Name of the interface to which the socket should be bound, or, for multicast
  1125. sockets, the interface on which it should listen. This should
  1126. be one of the declared interfaces.
  1127. </xs:documentation>
  1128. </xs:annotation>
  1129. </xs:attribute>
  1130. <xs:attribute name="port" type="xs:unsignedShort" use="optional" default="0">
  1131. <xs:annotation>
  1132. <xs:documentation>
  1133. Number of the port to which the socket should be bound.
  1134. </xs:documentation>
  1135. </xs:annotation>
  1136. </xs:attribute>
  1137. <xs:attribute name="fixed-port" type="xs:boolean" use="optional" default="false">
  1138. <xs:annotation>
  1139. <xs:documentation>
  1140. Whether the port value should remain fixed even if numerically offsets
  1141. are applied to the other sockets in the socket group..
  1142. </xs:documentation>
  1143. </xs:annotation>
  1144. </xs:attribute>
  1145. <xs:attribute name="multicast-address" type="xs:string" use="optional">
  1146. <xs:annotation>
  1147. <xs:documentation>
  1148. Multicast address on which the socket should receive multicast
  1149. traffic. If unspecified, the socket will not be configured
  1150. to receive multicast.
  1151. </xs:documentation>
  1152. </xs:annotation>
  1153. </xs:attribute>
  1154. <xs:attribute name="multicast-port" type="xs:positiveInteger" use="optional">
  1155. <xs:annotation>
  1156. <xs:documentation>
  1157. Port on which the socket should receive multicast
  1158. traffic. If unspecified, the socket will not be configured
  1159. to receive multicast.
  1160. </xs:documentation>
  1161. </xs:annotation>
  1162. </xs:attribute>
  1163. </xs:complexType>
  1164. <!-- Path configurations -->
  1165. <xs:complexType name="named-pathsType">
  1166. <xs:annotation>
  1167. <xs:documentation>
  1168. A list of named filesystem paths. The paths may or may
  1169. not be fully specified (i.e. include the actual paths.)
  1170. </xs:documentation>
  1171. </xs:annotation>
  1172. <xs:sequence>
  1173. <xs:element name="path" type="named-pathType" minOccurs="0" maxOccurs="unbounded"/>
  1174. </xs:sequence>
  1175. </xs:complexType>
  1176. <xs:complexType name="named-pathType">
  1177. <xs:annotation>
  1178. <xs:documentation>
  1179. A named filesystem path, but without a requirement to specify
  1180. the actual path. If no actual path is specified, acts as a
  1181. as a placeholder in the model (e.g. at the domain level)
  1182. until a fully specified path definition is applied at a
  1183. lower level (e.g. at the host level, where available addresses
  1184. are known.)
  1185. </xs:documentation>
  1186. </xs:annotation>
  1187. <xs:complexContent>
  1188. <xs:extension base="pathType">
  1189. <xs:attribute name="name" type="xs:string" use="required">
  1190. <xs:annotation>
  1191. <xs:documentation>
  1192. The name of the path. Cannot be one of the standard fixed paths
  1193. provided by the system:
  1194. jboss.home - the root directory of the JBoss AS distribution
  1195. user.home - user's home directory
  1196. user.dir - user's current working directory
  1197. java.home - java installation directory
  1198. jboss.server.base.dir - root directory for an individual server
  1199. instance
  1200. Note that the system provides other standard paths that can be
  1201. overridden by declaring them in the configuration file. See
  1202. the 'relative-to' attribute documentation for a complete
  1203. list of standard paths.
  1204. </xs:documentation>
  1205. </xs:annotation>
  1206. </xs:attribute>
  1207. </xs:extension>
  1208. </xs:complexContent>
  1209. </xs:complexType>
  1210. <xs:complexType name="pathType">
  1211. <xs:attribute name="path">
  1212. <xs:annotation>
  1213. <xs:documentation>
  1214. The actual filesystem path. Treated as an absolute path, unless the
  1215. 'relative-to' attribute is specified, in which case the value
  1216. is treated as relative to that path.
  1217. If treated as an absolute path, the actual runtime pathname specified
  1218. by the value of this attribute will be determined as follows:
  1219. If this value is already absolute, then the value is directly
  1220. used. Otherwise the runtime pathname is resolved in a
  1221. system-dependent way. On UNIX systems, a relative pathname is
  1222. made absolute by resolving it against the current user directory.
  1223. On Microsoft Windows systems, a relative pathname is made absolute
  1224. by resolving it against the current directory of the drive named by the
  1225. pathname, if any; if not, it is resolved against the current user
  1226. directory.
  1227. </xs:documentation>
  1228. </xs:annotation>
  1229. <xs:simpleType>
  1230. <xs:restriction base="xs:string">
  1231. <xs:minLength value="1"></xs:minLength>
  1232. </xs:restriction>
  1233. </xs:simpleType>
  1234. </xs:attribute>
  1235. <xs:attribute name="relative-to" type="xs:string" use="optional">
  1236. <xs:annotation>
  1237. <xs:documentation>
  1238. The name of another previously named path, or of one of the
  1239. standard paths provided by the system. If 'relative-to' is
  1240. provided, the value of the 'path' attribute is treated as
  1241. relative to the path specified by this attribute. The standard
  1242. paths provided by the system include:
  1243. jboss.home - the root directory of the JBoss AS distribution
  1244. user.home - user's home directory
  1245. user.dir - user's current working directory
  1246. java.home - java installation directory
  1247. jboss.server.base.dir - root directory for an individual server
  1248. instance
  1249. jboss.server.config.dir - directory in which server configuration
  1250. files are stored.
  1251. jboss.server.data.dir - directory the server will use for persistent
  1252. data file storage
  1253. jboss.server.log.dir - directory the server will use for
  1254. log file storage
  1255. jboss.server.temp.dir - directory the server will use for
  1256. temporary file storage
  1257. jboss.domain.servers.dir - directory under which a host controller
  1258. will create the working area for
  1259. individual server instances
  1260. </xs:documentation>
  1261. </xs:annotation>
  1262. </xs:attribute>
  1263. </xs:complexType>
  1264. <xs:complexType name="specified-pathsType">
  1265. <xs:annotation>
  1266. <xs:documentation>
  1267. A list of named filesystem paths.
  1268. </xs:documentation>
  1269. </xs:annotation>
  1270. <xs:sequence>
  1271. <xs:element name="path" type="specified-pathType" minOccurs="0" maxOccurs="unbounded"/>
  1272. </xs:sequence>
  1273. </xs:complexType>
  1274. <xs:complexType name="specified-pathType">
  1275. <xs:annotation>
  1276. <xs:documentation>
  1277. A named filesystem path.
  1278. </xs:documentation>
  1279. </xs:annotation>
  1280. <xs:attribute name="name" type="xs:string" use="required">
  1281. <xs:annotation>
  1282. <xs:documentation>
  1283. The name of the path. Cannot be one of the standard fixed paths
  1284. provided by the system:
  1285. jboss.home.dir - the root directory of the JBoss AS distribution
  1286. user.home - user's home directory
  1287. user.dir - user's current working directory
  1288. java.home - java installation directory
  1289. jboss.server.base.dir - root directory for an individual server
  1290. instance
  1291. Note that the system provides other standard paths that can be
  1292. overridden by declaring them in the configuration file. See
  1293. the 'relative-to' attribute documentation for a complete
  1294. list of standard paths.
  1295. </xs:documentation>
  1296. </xs:annotation>
  1297. </xs:attribute>
  1298. <xs:attribute name="path" use="required">
  1299. <xs:annotation>
  1300. <xs:documentation>
  1301. The actual filesystem path. Treated as an absolute path, unless the
  1302. 'relative-to' attribute is specified, in which case the value
  1303. is treated as relative to that path.
  1304. If treated as an absolute path, the actual runtime pathname specified
  1305. by the value of this attribute will be determined as follows:
  1306. If this value is already absolute, then the value is directly
  1307. used. Otherwise the runtime pathname is resolved in a
  1308. system-dependent way. On UNIX systems, a relative pathname is
  1309. made absolute by resolving it against the current user directory.
  1310. On Microsoft Windows systems, a relative pathname is made absolute
  1311. by resolving it against the current directory of the drive named by the
  1312. pathname, if any; if not, it is resolved against the current user
  1313. directory.
  1314. Note relative path declarations have to use '/' as file separator.
  1315. </xs:documentation>
  1316. </xs:annotation>
  1317. <xs:simpleType>
  1318. <xs:restriction base="xs:string">
  1319. <xs:minLength value="1"></xs:minLength>
  1320. </xs:restriction>
  1321. </xs:simpleType>
  1322. </xs:attribute>
  1323. <xs:attribute name="relative-to" type="xs:string" use="optional">
  1324. <xs:annotation>
  1325. <xs:documentation>
  1326. The name of another previously named path, or of one of the
  1327. standard paths provided by the system. If 'relative-to' is
  1328. provided, the value of the 'path' attribute is treated as
  1329. relative to the path specified by this attribute. The standard
  1330. paths provided by the system include:
  1331. jboss.home.dir - the root directory of the JBoss AS distribution
  1332. user.home - user's home directory
  1333. user.dir - user's current working directory
  1334. java.home - java installation directory
  1335. jboss.server.base.dir - root directory for an individual server
  1336. instance
  1337. jboss.server.config.dir - directory in which server configuration
  1338. files are stored.
  1339. jboss.server.data.dir - directory the server will use for persistent
  1340. data file storage
  1341. jboss.server.log.dir - directory the server will use for
  1342. log file storage
  1343. jboss.server.temp.dir - directory the server will use for
  1344. temporary file storage
  1345. jboss.domain.servers.dir - directory under which a host controller
  1346. will create the working area for
  1347. individual server instances
  1348. </xs:documentation>
  1349. </xs:annotation>
  1350. </xs:attribute>
  1351. </xs:complexType>
  1352. <!-- JVM configurations -->
  1353. <xs:complexType name="jvmsType">
  1354. <xs:sequence>
  1355. <xs:element name="jvm" type="namedJvmType" minOccurs="0" maxOccurs="unbounded"/>
  1356. </xs:sequence>
  1357. </xs:complexType>
  1358. <xs:complexType name="jvmType">
  1359. <xs:all minOccurs="0" maxOccurs="1">
  1360. <xs:element name="heap" type="heapType" minOccurs="0"/>
  1361. <!-- XX:PermSize, XX:MaxPermSize -->
  1362. <xs:element name="permgen" type="bounded-memory-sizeType" minOccurs="0"/>
  1363. <!-- Xss -->
  1364. <xs:element name="stack" type="memory-sizeType" minOccurs="0"/>
  1365. <xs:element name="agent-lib" type="jvm-agentLibType" minOccurs="0"/>
  1366. <xs:element name="agent-path" type="jvm-agentPathType" minOccurs="0"/>
  1367. <xs:element name="java-agent" type="jvm-javaagentType" minOccurs="0"/>
  1368. <xs:element name="jvm-options" type="jvm-optionsType" minOccurs="0"/>
  1369. <xs:element name="environment-variables" type="environmentVariablesType" minOccurs="0"/>
  1370. </xs:all>
  1371. <xs:attribute name="java-home" type="xs:string"/>
  1372. <xs:attribute name="type" default="SUN">
  1373. <xs:simpleType>
  1374. <xs:restriction base="xs:token">
  1375. <xs:enumeration value="SUN">
  1376. <xs:annotation>
  1377. <xs:documentation>Allows the full set of JVM options to be set via the jvm schema elements</xs:documentation>
  1378. </xs:annotation>
  1379. </xs:enumeration>
  1380. <xs:enumeration value="IBM">
  1381. <xs:annotation>
  1382. <xs:documentation>Sets a subset of the JVM options via the jvm schema elements</xs:documentation>
  1383. </xs:annotation>
  1384. </xs:enumeration>
  1385. </xs:restriction>
  1386. </xs:simpleType>
  1387. </xs:attribute>
  1388. <xs:attribute name="env-classpath-ignored" default="true" type="xs:boolean"/>
  1389. </xs:complexType>
  1390. <xs:complexType name="namedJvmType">
  1391. <xs:complexContent>
  1392. <xs:extension base="jvmType">
  1393. <xs:attribute name="name" type="xs:string"/>
  1394. </xs:extension>
  1395. </xs:complexContent>
  1396. </xs:complexType>
  1397. <xs:complexType name="serverJvmType">
  1398. <xs:complexContent>
  1399. <xs:extension base="namedJvmType">
  1400. <xs:attribute name="debug-enabled" type="xs:boolean" default="false"/>
  1401. <xs:attribute name="debug-options" type="xs:string" />
  1402. </xs:extension>
  1403. </xs:complexContent>
  1404. </xs:complexType>
  1405. <xs:complexType name="heapType">
  1406. <xs:attribute name="size" use="optional">
  1407. <xs:annotation>
  1408. <xs:documentation>Initial JVM heap size</xs:documentation>
  1409. </xs:annotation>
  1410. </xs:attribute>
  1411. <xs:attribute name="max-size" use="optional">
  1412. <xs:annotation>
  1413. <xs:documentation>Maximum JVM heap size</xs:documentation>
  1414. </xs:annotation>
  1415. </xs:attribute>
  1416. </xs:complexType>
  1417. <xs:complexType name="jvm-optionsType">
  1418. <xs:sequence>
  1419. <xs:element name="option" type="jvm-optionType" minOccurs="0" maxOccurs="unbounded"/>
  1420. </xs:sequence>
  1421. </xs:complexType>
  1422. <xs:complexType name="jvm-optionType">
  1423. <xs:attribute name="value" use="required">
  1424. <xs:annotation>
  1425. <xs:documentation>JVM option value</xs:documentation>
  1426. </xs:annotation>
  1427. </xs:attribute>
  1428. </xs:complexType>
  1429. <xs:complexType name="jvm-agentLibType">
  1430. <xs:attribute name="value" use="required">
  1431. <xs:annotation>
  1432. <xs:documentation>JVM agent lib value </xs:documentation>
  1433. </xs:annotation>
  1434. </xs:attribute>
  1435. </xs:complexType>
  1436. <xs:complexType name="jvm-agentPathType">
  1437. <xs:attribute name="value" use="required">
  1438. <xs:annotation>
  1439. <xs:documentation>JVM agent path value </xs:documentation>
  1440. </xs:annotation>
  1441. </xs:attribute>
  1442. </xs:complexType>
  1443. <xs:complexType name="jvm-javaagentType">
  1444. <xs:attribute name="value" use="required">
  1445. <xs:annotation>
  1446. <xs:documentation>JVM javaagent value </xs:documentation>
  1447. </xs:annotation>
  1448. </xs:attribute>
  1449. </xs:complexType>
  1450. <xs:complexType name="bounded-memory-sizeType">
  1451. <xs:attribute name="size" type="xs:string"/>
  1452. <xs:attribute name="max-size" type="xs:string"/>
  1453. </xs:complexType>
  1454. <xs:complexType name="memory-sizeType">
  1455. <xs:attribute name="size" type="xs:string" use="required"/>
  1456. </xs:complexType>
  1457. <xs:complexType name="properties-with-boottime">
  1458. <xs:sequence>
  1459. <xs:element name="property" type="boottimePropertyType" maxOccurs="unbounded"/>
  1460. </xs:sequence>
  1461. </xs:complexType>
  1462. <xs:complexType name="properties">
  1463. <xs:sequence>
  1464. <xs:element name="property" type="propertyType" maxOccurs="unbounded"/>
  1465. </xs:sequence>
  1466. </xs:complexType>
  1467. <xs:complexType name="environmentVariablesType">
  1468. <xs:sequence>
  1469. <xs:element name="variable" type="propertyType" maxOccurs="unbounded"/>
  1470. </xs:sequence>
  1471. </xs:complexType>
  1472. <xs:complexType name="propertyType">
  1473. <xs:attribute name="name" use="required"/>
  1474. <xs:attribute name="value" use="optional"/>
  1475. </xs:complexType>
  1476. <xs:complexType name="boottimePropertyType">
  1477. <xs:complexContent>
  1478. <xs:extension base="propertyType">
  1479. <xs:attribute name="boot-time" type="xs:boolean" default="true"/>
  1480. </xs:extension>
  1481. </xs:complexContent>
  1482. </xs:complexType>
  1483. </xs:schema>