/hazelcast-spring/src/main/resources/hazelcast-spring-2.4.xsd

https://bitbucket.org/gabral6_gmailcom/hazelcast · XML Schema · 801 lines · 760 code · 41 blank · 0 comment · 0 complexity · 2c12d8afee961f7d5678b76bb5cc1e89 MD5 · raw file

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. ~ Copyright (c) 2008-2012, Hazel Bilisim Ltd. All Rights Reserved.
  4. ~
  5. ~ Licensed under the Apache License, Version 2.0 (the "License");
  6. ~ you may not use this file except in compliance with the License.
  7. ~ You may obtain a copy of the License at
  8. ~
  9. ~ http://www.apache.org/licenses/LICENSE-2.0
  10. ~
  11. ~ Unless required by applicable law or agreed to in writing, software
  12. ~ distributed under the License is distributed on an "AS IS" BASIS,
  13. ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. ~ See the License for the specific language governing permissions and
  15. ~ limitations under the License.
  16. -->
  17. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  18. xmlns="http://www.hazelcast.com/schema/spring"
  19. targetNamespace="http://www.hazelcast.com/schema/spring"
  20. elementFormDefault="qualified"
  21. attributeFormDefault="unqualified">
  22. <xs:element name="config">
  23. <xs:complexType>
  24. <xs:complexContent>
  25. <xs:extension base="hazelcast-bean">
  26. <xs:sequence>
  27. <xs:element name="instance-name" type="xs:string" minOccurs="0" maxOccurs="1"/>
  28. <xs:element name="lite-member" type="xs:string" minOccurs="0" maxOccurs="1"/>
  29. <xs:element name="group" type="group" minOccurs="0" maxOccurs="1"/>
  30. <xs:element name="license-key" type="xs:string" minOccurs="0" maxOccurs="1"/>
  31. <xs:element name="management-center" type="management-center" minOccurs="0" maxOccurs="1"/>
  32. <xs:element name="properties" type="properties" minOccurs="0" maxOccurs="1"/>
  33. <xs:element name="wan-replication" type="wan-replication" minOccurs="0" maxOccurs="unbounded"/>
  34. <xs:element name="network" type="network" minOccurs="0" maxOccurs="1"/>
  35. <xs:element name="partition-group" type="partition-group" minOccurs="0" maxOccurs="1"/>
  36. <xs:element name="executor-service" minOccurs="0" maxOccurs="unbounded">
  37. <xs:complexType>
  38. <xs:sequence/>
  39. <xs:attribute name="name" use="required" type="xs:string"/>
  40. <xs:attribute name="core-pool-size" use="optional" type="xs:string"/>
  41. <xs:attribute name="max-pool-size" use="optional" type="xs:string"/>
  42. <xs:attribute name="keep-alive-seconds" use="optional" type="xs:string"/>
  43. </xs:complexType>
  44. </xs:element>
  45. <xs:element name="queue" minOccurs="0" maxOccurs="unbounded">
  46. <xs:complexType>
  47. <xs:sequence>
  48. <xs:element name="item-listeners" minOccurs="0" maxOccurs="1">
  49. <xs:complexType>
  50. <xs:sequence>
  51. <xs:element name="item-listener" type="item-listener" minOccurs="0"
  52. maxOccurs="unbounded"/>
  53. </xs:sequence>
  54. </xs:complexType>
  55. </xs:element>
  56. </xs:sequence>
  57. <xs:attribute name="name" use="required" type="xs:string"/>
  58. <xs:attribute name="max-size-per-jvm" use="required" type="xs:string"/>
  59. <xs:attribute name="backing-map-ref" use="optional" type="xs:string"/>
  60. </xs:complexType>
  61. </xs:element>
  62. <xs:element name="map" minOccurs="0" maxOccurs="unbounded">
  63. <xs:complexType>
  64. <xs:sequence>
  65. <xs:element name="map-store" minOccurs="0" maxOccurs="1">
  66. <xs:complexType>
  67. <xs:sequence>
  68. <xs:element name="properties" type="properties" minOccurs="0"
  69. maxOccurs="1"/>
  70. </xs:sequence>
  71. <xs:attribute name="enabled" use="required" type="xs:string"/>
  72. <xs:attribute name="class-name" use="optional" type="xs:string"/>
  73. <xs:attribute name="factory-class-name" use="optional" type="xs:string"/>
  74. <xs:attribute name="implementation" use="optional" type="xs:string"/>
  75. <xs:attribute name="factory-implementation" use="optional"
  76. type="xs:string"/>
  77. <xs:attribute name="write-delay-seconds" use="required" type="xs:string"/>
  78. </xs:complexType>
  79. </xs:element>
  80. <xs:element name="near-cache" minOccurs="0" maxOccurs="1">
  81. <xs:complexType>
  82. <xs:sequence/>
  83. <xs:attribute name="time-to-live-seconds" use="required" type="xs:string"/>
  84. <xs:attribute name="max-idle-seconds" use="required" type="xs:string"/>
  85. <xs:attribute name="eviction-policy" use="required" type="xs:string"/>
  86. <xs:attribute name="max-size" use="required" type="xs:string"/>
  87. <xs:attribute name="invalidate-on-change" use="required" type="xs:string"/>
  88. </xs:complexType>
  89. </xs:element>
  90. <xs:element name="wan-replication-ref" minOccurs="0" maxOccurs="1">
  91. <xs:complexType>
  92. <xs:attribute name="name" use="required" type="xs:string"/>
  93. <xs:attribute name="merge-policy" use="required" type="xs:string"/>
  94. </xs:complexType>
  95. </xs:element>
  96. <xs:element name="indexes" minOccurs="0" maxOccurs="1">
  97. <xs:complexType>
  98. <xs:sequence>
  99. <xs:element name="index" minOccurs="0" maxOccurs="unbounded">
  100. <xs:complexType>
  101. <xs:attribute name="attribute" type="xs:string" use="required"/>
  102. <xs:attribute name="ordered" type="xs:string" use="optional"
  103. default="false"/>
  104. </xs:complexType>
  105. </xs:element>
  106. </xs:sequence>
  107. </xs:complexType>
  108. </xs:element>
  109. <xs:element name="entry-listeners" minOccurs="0" maxOccurs="1">
  110. <xs:complexType>
  111. <xs:sequence>
  112. <xs:element name="entry-listener" type="entry-listener" minOccurs="0"
  113. maxOccurs="unbounded"/>
  114. </xs:sequence>
  115. </xs:complexType>
  116. </xs:element>
  117. </xs:sequence>
  118. <xs:attribute name="name" use="required" type="xs:string"/>
  119. <xs:attribute name="backup-count" use="optional" type="xs:string"/>
  120. <xs:attribute name="async-backup-count" use="optional" type="xs:string"/>
  121. <xs:attribute name="time-to-live-seconds" use="optional" type="xs:string"/>
  122. <xs:attribute name="max-size" use="optional" type="xs:string"/>
  123. <xs:attribute name="max-size-policy" use="optional" type="xs:string"/>
  124. <xs:attribute name="max-idle-seconds" use="optional" type="xs:string"/>
  125. <xs:attribute name="eviction-delay-seconds" use="optional" type="xs:string"/>
  126. <xs:attribute name="eviction-percentage" use="optional" type="xs:string"/>
  127. <xs:attribute name="eviction-policy" use="optional" type="xs:string"/>
  128. <xs:attribute name="merge-policy" use="optional" type="xs:string"/>
  129. <xs:attribute name="value-indexed" use="optional" type="xs:string"/>
  130. <xs:attribute name="read-backup-data" use="optional" type="xs:string"/>
  131. <xs:attribute name="cache-value" use="optional" type="xs:string"/>
  132. <xs:attribute name="storage-type" use="optional" type="xs:string" default="HEAP"/>
  133. </xs:complexType>
  134. </xs:element>
  135. <xs:element name="multimap" minOccurs="0" maxOccurs="unbounded">
  136. <xs:complexType>
  137. <xs:sequence>
  138. <xs:element name="entry-listeners" minOccurs="0" maxOccurs="1">
  139. <xs:complexType>
  140. <xs:sequence>
  141. <xs:element name="entry-listener" type="entry-listener" minOccurs="0"
  142. maxOccurs="unbounded"/>
  143. </xs:sequence>
  144. </xs:complexType>
  145. </xs:element>
  146. </xs:sequence>
  147. <xs:attribute name="name" type="xs:string" use="optional" default="default"/>
  148. <xs:attribute name="value-collection-type" type="xs:string" use="optional"
  149. default="SET"/>
  150. </xs:complexType>
  151. </xs:element>
  152. <xs:element name="topic" minOccurs="0" maxOccurs="unbounded">
  153. <xs:complexType>
  154. <xs:sequence>
  155. <xs:element name="message-listeners" minOccurs="0" maxOccurs="1">
  156. <xs:complexType>
  157. <xs:sequence>
  158. <xs:element name="message-listener" type="listener" minOccurs="0"
  159. maxOccurs="unbounded"/>
  160. </xs:sequence>
  161. </xs:complexType>
  162. </xs:element>
  163. </xs:sequence>
  164. <xs:attribute name="name" type="xs:string" use="optional" default="default"/>
  165. </xs:complexType>
  166. </xs:element>
  167. <xs:element name="merge-policies" type="merge-policies" minOccurs="0" maxOccurs="unbounded"/>
  168. <xs:element name="listeners" minOccurs="0" maxOccurs="1">
  169. <xs:complexType>
  170. <xs:sequence>
  171. <xs:element name="listener" type="listener" minOccurs="0" maxOccurs="unbounded"/>
  172. </xs:sequence>
  173. </xs:complexType>
  174. </xs:element>
  175. <xs:element name="security" type="security" minOccurs="0" maxOccurs="1"/>
  176. </xs:sequence>
  177. </xs:extension>
  178. </xs:complexContent>
  179. </xs:complexType>
  180. </xs:element>
  181. <xs:element name="hazelcast">
  182. <xs:complexType>
  183. <xs:complexContent>
  184. <xs:extension base="hazelcast-bean">
  185. <xs:sequence>
  186. <xs:element ref="config" minOccurs="0" maxOccurs="1"/>
  187. </xs:sequence>
  188. </xs:extension>
  189. </xs:complexContent>
  190. </xs:complexType>
  191. </xs:element>
  192. <xs:element name="client">
  193. <xs:complexType>
  194. <xs:complexContent>
  195. <xs:extension base="hazelcast-bean">
  196. <xs:sequence>
  197. <xs:element name="member" type="member" minOccurs="0"
  198. maxOccurs="unbounded"/>
  199. </xs:sequence>
  200. <xs:attribute name="group-name" type="xs:string" use="optional"/>
  201. <xs:attribute name="group-password" type="xs:string" use="optional"/>
  202. <xs:attribute name="auto-update-members" type="xs:string" use="optional" default="true"/>
  203. <xs:attribute name="shuffle-members" type="xs:string" use="optional"/>
  204. <xs:attribute name="connect-attempt-limit" type="xs:string" use="optional"/>
  205. <xs:attribute name="connect-timeout" type="xs:string" use="optional"/>
  206. <xs:attribute name="reconnect-attempt-limit" type="xs:string" use="optional"/>
  207. <xs:attribute name="reconnect-timeout" type="xs:string" use="optional"/>
  208. <xs:attribute name="credentials-ref" type="xs:string" use="optional"/>
  209. </xs:extension>
  210. </xs:complexContent>
  211. </xs:complexType>
  212. </xs:element>
  213. <xs:element name="map" type="hazelcast-type"/>
  214. <xs:element name="multiMap" type="hazelcast-type"/>
  215. <xs:element name="queue" type="hazelcast-type"/>
  216. <xs:element name="topic" type="hazelcast-type"/>
  217. <xs:element name="set" type="hazelcast-type"/>
  218. <xs:element name="list" type="hazelcast-type"/>
  219. <xs:element name="executorService" type="hazelcast-type"/>
  220. <xs:element name="idGenerator" type="hazelcast-type"/>
  221. <xs:element name="atomicNumber" type="hazelcast-type"/>
  222. <xs:element name="countDownLatch" type="hazelcast-type"/>
  223. <xs:element name="semaphore" type="hazelcast-type"/>
  224. <xs:element name="lock" type="hazelcast-type"/>
  225. <xs:element name="hibernate-cache-provider" type="hibernate-cache"/>
  226. <xs:element name="hibernate-region-factory" type="hibernate-cache"/>
  227. <!-- internal elements -->
  228. <xs:complexType name="hazelcast-bean">
  229. <xs:attribute name="id" type="xs:string" use="optional">
  230. <xs:annotation>
  231. <xs:documentation>
  232. <![CDATA[The unique identifier for a bean.
  233. A bean id may not be used more than once within the same <beans> element.]]>
  234. </xs:documentation>
  235. </xs:annotation>
  236. </xs:attribute>
  237. <xs:attribute name="lazy-init" type="xs:string" use="optional" default="false">
  238. <xs:annotation>
  239. <xs:documentation>
  240. <![CDATA[Indicates whether or not this bean is to be lazily initialized.
  241. If false, it will be instantiated on startup by bean factories that perform
  242. eager initialization of singletons.]]>
  243. </xs:documentation>
  244. </xs:annotation>
  245. </xs:attribute>
  246. <xs:attribute name="scope" type="xs:string" use="optional" default="singleton">
  247. <xs:annotation>
  248. <xs:documentation>
  249. <![CDATA[The scope of this bean: typically "singleton", or "prototype".]]>
  250. </xs:documentation>
  251. </xs:annotation>
  252. </xs:attribute>
  253. <xs:attribute name="depends-on" type="xs:string" use="optional">
  254. <xs:annotation>
  255. <xs:documentation>
  256. <![CDATA[The names of the beans that this bean depends on being initialized.]]>
  257. </xs:documentation>
  258. </xs:annotation>
  259. </xs:attribute>
  260. </xs:complexType>
  261. <xs:complexType name="hazelcast-type">
  262. <xs:complexContent>
  263. <xs:extension base="hazelcast-bean">
  264. <xs:sequence/>
  265. <xs:attribute name="instance-ref" type="xs:string" use="required">
  266. <xs:annotation>
  267. <xs:documentation>
  268. <![CDATA[The name of the HazelcastInstance that this bean depends on.]]>
  269. </xs:documentation>
  270. </xs:annotation>
  271. </xs:attribute>
  272. <xs:attribute name="name" type="xs:string" use="required">
  273. <xs:annotation>
  274. <xs:documentation>
  275. <![CDATA[The name of this bean in Hazelcast context (HazelcastInstance.getMap(name)).]]>
  276. </xs:documentation>
  277. </xs:annotation>
  278. </xs:attribute>
  279. </xs:extension>
  280. </xs:complexContent>
  281. </xs:complexType>
  282. <xs:complexType name="network">
  283. <xs:sequence>
  284. <xs:element name="outbound-ports" type="outbound-ports" minOccurs="0" maxOccurs="1" />
  285. <xs:element name="join" type="join" minOccurs="0" maxOccurs="1"/>
  286. <xs:element name="interfaces" type="interfaces" minOccurs="0" maxOccurs="1"/>
  287. <xs:element name="ssl" type="ssl" minOccurs="0" maxOccurs="1"/>
  288. <xs:element name="socket-interceptor" type="socket-interceptor" minOccurs="0" maxOccurs="1"/>
  289. <xs:element name="symmetric-encryption" type="symmetric-encryption" minOccurs="0" maxOccurs="1"/>
  290. <xs:element name="asymmetric-encryption" type="asymmetric-encryption" minOccurs="0" maxOccurs="1"/>
  291. </xs:sequence>
  292. <xs:attribute name="public-address" type="xs:string" use="optional"/>
  293. <xs:attribute name="port" type="xs:string" use="required"/>
  294. <xs:attribute name="port-auto-increment" type="xs:string" use="optional" default="true"/>
  295. </xs:complexType>
  296. <xs:complexType name="tcp-ip">
  297. <xs:sequence>
  298. <xs:element name="required-member" type="xs:string" minOccurs="0" maxOccurs="1"/>
  299. <xs:choice>
  300. <xs:element name="members" type="members" default="127.0.0.1"/>
  301. <xs:sequence>
  302. <xs:element name="member" type="member" default="127.0.0.1" minOccurs="0" maxOccurs="unbounded"/>
  303. </xs:sequence>
  304. <xs:sequence>
  305. <xs:element name="interface" type="interface" minOccurs="0" maxOccurs="unbounded"/>
  306. </xs:sequence>
  307. </xs:choice>
  308. </xs:sequence>
  309. <xs:attribute name="enabled" type="xs:string" use="optional" default="false"/>
  310. </xs:complexType>
  311. <xs:complexType name="multicast">
  312. <xs:sequence/>
  313. <xs:attribute name="enabled" type="xs:string" use="optional" default="true"/>
  314. <xs:attribute name="multicast-group" type="xs:string" use="optional" default="224.2.2.3"/>
  315. <xs:attribute name="multicast-port" type="xs:string" use="optional" default="54327"/>
  316. <xs:attribute name="multicast-timeout-seconds" type="xs:string" use="optional" default="2"/>
  317. <xs:attribute name="multicast-time-to-live" type="xs:string" use="optional" default="32"/>
  318. </xs:complexType>
  319. <xs:complexType name="aws">
  320. <xs:sequence/>
  321. <xs:attribute name="enabled" type="xs:string" use="optional" default="true"/>
  322. <xs:attribute name="access-key" type="xs:string" use="optional" default=""/>
  323. <xs:attribute name="secret-key" type="xs:string" use="optional" default=""/>
  324. <xs:attribute name="region" type="xs:string" use="optional" default=""/>
  325. <xs:attribute name="host-header" type="xs:string" use="optional" default=""/>
  326. <xs:attribute name="security-group-name" type="xs:string" use="optional" default=""/>
  327. <xs:attribute name="tag-key" type="xs:string" use="optional" default=""/>
  328. <xs:attribute name="tag-value" type="xs:string" use="optional" default=""/>
  329. </xs:complexType>
  330. <xs:complexType name="merge-policies">
  331. <xs:sequence>
  332. <xs:element name="map-merge-policy" type="map-merge-policy" minOccurs="1" maxOccurs="unbounded"/>
  333. </xs:sequence>
  334. </xs:complexType>
  335. <xs:complexType name="map-merge-policy">
  336. <xs:attribute name="name" type="xs:string" use="required"/>
  337. <xs:attribute name="class-name" type="xs:string" use="optional"/>
  338. <xs:attribute name="implementation" type="xs:string" use="optional"/>
  339. </xs:complexType>
  340. <xs:complexType name="outbound-ports">
  341. <xs:sequence>
  342. <xs:element name="ports" minOccurs="0" maxOccurs="unbounded">
  343. <xs:simpleType>
  344. <xs:restriction base="xs:string" />
  345. </xs:simpleType>
  346. </xs:element>
  347. </xs:sequence>
  348. </xs:complexType>
  349. <xs:complexType name="join">
  350. <xs:sequence>
  351. <xs:element name="multicast" type="multicast" minOccurs="0"/>
  352. <xs:element name="tcp-ip" type="tcp-ip" minOccurs="0"/>
  353. <xs:element name="aws" type="aws" minOccurs="0"/>
  354. </xs:sequence>
  355. </xs:complexType>
  356. <xs:complexType name="interfaces">
  357. <xs:sequence>
  358. <xs:element name="interface" type="interface" default="127.0.0.1"/>
  359. </xs:sequence>
  360. <xs:attribute name="enabled" type="xs:string" use="optional" default="false"/>
  361. </xs:complexType>
  362. <xs:simpleType name="interface">
  363. <xs:restriction base="xs:string"/>
  364. </xs:simpleType>
  365. <xs:simpleType name="member">
  366. <xs:restriction base="xs:string"/>
  367. </xs:simpleType>
  368. <xs:simpleType name="members">
  369. <xs:restriction base="xs:string"/>
  370. </xs:simpleType>
  371. <xs:complexType name="group">
  372. <xs:sequence/>
  373. <xs:attribute name="name" type="xs:string" use="required"/>
  374. <xs:attribute name="password" type="xs:string" use="required"/>
  375. </xs:complexType>
  376. <xs:simpleType name="propertyNameEnum">
  377. <xs:restriction base="xs:string">
  378. <xs:enumeration value="hazelcast.merge.first.run.delay.seconds"/>
  379. <xs:enumeration value="hazelcast.merge.next.run.delay.seconds"/>
  380. <xs:enumeration value="hazelcast.redo.wait.millis"/>
  381. <xs:enumeration value="hazelcast.socket.bind.any"/>
  382. <xs:enumeration value="hazelcast.serializer.gzip.enabled"/>
  383. <xs:enumeration value="hazelcast.serializer.shared"/>
  384. <xs:enumeration value="hazelcast.shutdownhook.enabled"/>
  385. <xs:enumeration value="hazelcast.wait.seconds.before.join"/>
  386. <xs:enumeration value="hazelcast.max.no.heartbeat.seconds"/>
  387. <xs:enumeration value="hazelcast.initial.wait.seconds"/>
  388. <xs:enumeration value="hazelcast.restart.on.max.idle"/>
  389. <xs:enumeration value="hazelcast.map.partition.count"/>
  390. <xs:enumeration value="hazelcast.map.remove.delay.seconds"/>
  391. <xs:enumeration value="hazelcast.map.cleanup.delay.seconds"/>
  392. <xs:enumeration value="hazelcast.executor.query.thread.count"/>
  393. <xs:enumeration value="hazelcast.executor.event.thread.count"/>
  394. <xs:enumeration value="hazelcast.executor.migration.thread.count"/>
  395. <xs:enumeration value="hazelcast.executor.client.thread.count"/>
  396. <xs:enumeration value="hazelcast.executor.store.thread.count"/>
  397. <xs:enumeration value="hazelcast.log.state"/>
  398. <xs:enumeration value="hazelcast.jmx"/>
  399. <xs:enumeration value="hazelcast.jmx.detailed"/>
  400. <xs:enumeration value="hazelcast.mancenter.enabled"/>
  401. <xs:enumeration value="hazelcast.memcache.enabled"/>
  402. <xs:enumeration value="hazelcast.rest.enabled"/>
  403. <xs:enumeration value="hazelcast.map.load.chunk.size"/>
  404. <xs:enumeration value="hazelcast.in.thread.priority"/>
  405. <xs:enumeration value="hazelcast.out.thread.priority"/>
  406. <xs:enumeration value="hazelcast.service.thread.priority"/>
  407. <xs:enumeration value="hazelcast.socket.receive.buffer.size"/>
  408. <xs:enumeration value="hazelcast.socket.send.buffer.size"/>
  409. <xs:enumeration value="hazelcast.socket.keep.alive"/>
  410. <xs:enumeration value="hazelcast.socket.no.delay"/>
  411. <xs:enumeration value="hazelcast.heartbeat.interval.seconds"/>
  412. <xs:enumeration value="hazelcast.icmp.enabled"/>
  413. <xs:enumeration value="hazelcast.initial.min.cluster.size"/>
  414. <xs:enumeration value="hazelcast.mc.atomicnumber.excludes"/>
  415. <xs:enumeration value="hazelcast.mc.countdownlatch.excludes"/>
  416. <xs:enumeration value="hazelcast.mc.map.excludes"/>
  417. <xs:enumeration value="hazelcast.mc.queue.excludes"/>
  418. <xs:enumeration value="hazelcast.mc.semaphore.excludes"/>
  419. <xs:enumeration value="hazelcast.mc.topic.excludes"/>
  420. <xs:enumeration value="hazelcast.version.check.enabled"/>
  421. <xs:enumeration value="hazelcast.map.max.backup.count"/>
  422. <xs:enumeration value="hazelcast.topic.flow.control.enabled"/>
  423. <xs:enumeration value="hazelcast.max.wait.seconds.before.join"/>
  424. <xs:enumeration value="hazelcast.mc.max.visible.instance.count"/>
  425. <xs:enumeration value="hazelcast.logging.type"/>
  426. </xs:restriction>
  427. </xs:simpleType>
  428. <xs:simpleType name="propertyNameString">
  429. <xs:restriction base="non-space-string"/>
  430. </xs:simpleType>
  431. <xs:simpleType name="propertyName">
  432. <xs:union memberTypes="propertyNameEnum propertyNameString"/>
  433. </xs:simpleType>
  434. <xs:complexType name="property">
  435. <xs:simpleContent>
  436. <xs:extension base="xs:string">
  437. <xs:attribute name="name" use="required" type="propertyName"/>
  438. </xs:extension>
  439. </xs:simpleContent>
  440. </xs:complexType>
  441. <xs:complexType name="properties">
  442. <xs:sequence minOccurs="0" maxOccurs="unbounded">
  443. <xs:element name="property" type="property"/>
  444. </xs:sequence>
  445. </xs:complexType>
  446. <xs:complexType name="ssl">
  447. <xs:sequence>
  448. <xs:element name="properties" type="properties" minOccurs="0" maxOccurs="1"/>
  449. </xs:sequence>
  450. <xs:attribute name="enabled" default="false" type="xs:string"/>
  451. <xs:attribute name="factory-class-name" type="xs:string" use="optional"/>
  452. <xs:attribute name="factory-implementation" type="xs:string" use="optional"/>
  453. </xs:complexType>
  454. <xs:complexType name="socket-interceptor">
  455. <xs:sequence>
  456. <xs:element name="properties" type="properties" minOccurs="0" maxOccurs="1"/>
  457. </xs:sequence>
  458. <xs:attribute name="enabled" default="false" type="xs:string"/>
  459. <xs:attribute name="class-name" type="xs:string" use="optional"/>
  460. <xs:attribute name="implementation" type="xs:string" use="optional"/>
  461. </xs:complexType>
  462. <xs:complexType name="symmetric-encryption">
  463. <xs:sequence/>
  464. <xs:attribute name="enabled" type="xs:string" use="optional" default="false"/>
  465. <xs:attribute name="algorithm" use="optional" type="xs:string"/>
  466. <xs:attribute name="salt" use="optional" type="xs:string"/>
  467. <xs:attribute name="password" use="optional" type="xs:string"/>
  468. <xs:attribute name="iteration-count" use="optional" type="xs:string"/>
  469. </xs:complexType>
  470. <xs:complexType name="asymmetric-encryption">
  471. <xs:sequence/>
  472. <xs:attribute name="enabled" type="xs:string" use="optional" default="false"/>
  473. <xs:attribute name="algorithm" use="optional" type="xs:string"/>
  474. <xs:attribute name="key-password" use="optional" type="xs:string"/>
  475. <xs:attribute name="key-alias" use="optional" type="xs:string"/>
  476. <xs:attribute name="store-type" use="optional" type="xs:string"/>
  477. <xs:attribute name="store-password" use="optional" type="xs:string"/>
  478. <xs:attribute name="store-path" use="optional" type="xs:string"/>
  479. </xs:complexType>
  480. <xs:complexType name="hibernate-cache">
  481. <xs:complexContent>
  482. <xs:extension base="hazelcast-bean">
  483. <xs:attribute name="instance-ref" type="xs:string" use="required"/>
  484. </xs:extension>
  485. </xs:complexContent>
  486. </xs:complexType>
  487. <xs:simpleType name="non-space-string">
  488. <xs:restriction base="xs:string">
  489. <xs:pattern value="\S.*"/>
  490. </xs:restriction>
  491. </xs:simpleType>
  492. <xs:complexType name="wan-replication">
  493. <xs:sequence>
  494. <xs:element name="target-cluster" minOccurs="1" maxOccurs="unbounded">
  495. <xs:complexType>
  496. <xs:sequence>
  497. <xs:choice minOccurs="1" maxOccurs="1">
  498. <xs:element name="replication-impl">
  499. <xs:simpleType>
  500. <xs:restriction base="xs:string"/>
  501. </xs:simpleType>
  502. </xs:element>
  503. <xs:element name="replication-impl-object">
  504. <xs:complexType>
  505. <xs:complexContent>
  506. <xs:extension base="hazelcast-bean">
  507. <xs:attribute name="ref" type="xs:string" use="required"/>
  508. </xs:extension>
  509. </xs:complexContent>
  510. </xs:complexType>
  511. </xs:element>
  512. </xs:choice>
  513. <xs:element name="end-points" minOccurs="1" maxOccurs="1">
  514. <xs:complexType>
  515. <xs:sequence>
  516. <xs:element name="address" minOccurs="1" maxOccurs="unbounded">
  517. <xs:simpleType>
  518. <xs:restriction base="xs:string"/>
  519. </xs:simpleType>
  520. </xs:element>
  521. </xs:sequence>
  522. </xs:complexType>
  523. </xs:element>
  524. </xs:sequence>
  525. <xs:attribute name="group-name" use="required">
  526. <xs:simpleType>
  527. <xs:restriction base="xs:string"/>
  528. </xs:simpleType>
  529. </xs:attribute>
  530. <xs:attribute name="group-password" use="required">
  531. <xs:simpleType>
  532. <xs:restriction base="xs:string"/>
  533. </xs:simpleType>
  534. </xs:attribute>
  535. </xs:complexType>
  536. </xs:element>
  537. </xs:sequence>
  538. <xs:attribute name="name" use="required">
  539. <xs:simpleType>
  540. <xs:restriction base="xs:string"/>
  541. </xs:simpleType>
  542. </xs:attribute>
  543. </xs:complexType>
  544. <xs:complexType name="partition-group">
  545. <xs:sequence>
  546. <xs:element name="member-group" minOccurs="0" maxOccurs="unbounded">
  547. <xs:complexType>
  548. <xs:sequence>
  549. <xs:element name="interface" type="interface" minOccurs="0" maxOccurs="unbounded"/>
  550. </xs:sequence>
  551. </xs:complexType>
  552. </xs:element>
  553. </xs:sequence>
  554. <xs:attribute name="enabled" type="xs:boolean" use="required"/>
  555. <xs:attribute name="group-type" type="xs:string" use="optional"/>
  556. </xs:complexType>
  557. <xs:complexType name="management-center">
  558. <xs:attribute name="enabled" type="xs:string" default="false" use="optional"/>
  559. <xs:attribute name="url" type="xs:string" use="optional"/>
  560. <xs:attribute name="update-interval" type="xs:string" default="3" use="optional"/>
  561. </xs:complexType>
  562. <xs:complexType name="listener">
  563. <xs:attribute name="class-name" type="xs:string" use="optional"/>
  564. <xs:attribute name="implementation" type="xs:string" use="optional"/>
  565. </xs:complexType>
  566. <xs:complexType name="item-listener">
  567. <xs:complexContent>
  568. <xs:extension base="listener">
  569. <xs:attribute name="include-value" type="xs:string" use="optional" default="true"/>
  570. </xs:extension>
  571. </xs:complexContent>
  572. </xs:complexType>
  573. <xs:complexType name="entry-listener">
  574. <xs:complexContent>
  575. <xs:extension base="item-listener">
  576. <xs:attribute name="local" type="xs:string" use="optional" default="false"/>
  577. </xs:extension>
  578. </xs:complexContent>
  579. </xs:complexType>
  580. <xs:complexType name="security">
  581. <xs:sequence>
  582. <xs:element name="member-credentials-factory" minOccurs="0" maxOccurs="1">
  583. <xs:complexType>
  584. <xs:sequence>
  585. <xs:element name="properties" type="properties" minOccurs="0" maxOccurs="1"/>
  586. </xs:sequence>
  587. <xs:attribute name="class-name" type="non-space-string" use="optional"/>
  588. <xs:attribute name="implementation" type="non-space-string" use="optional"/>
  589. </xs:complexType>
  590. </xs:element>
  591. <xs:element name="member-login-modules" type="login-modules" minOccurs="0" maxOccurs="1"/>
  592. <xs:element name="client-login-modules" type="login-modules" minOccurs="0" maxOccurs="1"/>
  593. <xs:element name="client-permission-policy" minOccurs="0" maxOccurs="1">
  594. <xs:complexType>
  595. <xs:sequence>
  596. <xs:element name="properties" type="properties" minOccurs="0" maxOccurs="1"/>
  597. </xs:sequence>
  598. <xs:attribute name="class-name" type="non-space-string" use="optional"/>
  599. <xs:attribute name="implementation" type="non-space-string" use="optional"/>
  600. </xs:complexType>
  601. </xs:element>
  602. <xs:element name="client-permissions" minOccurs="0" maxOccurs="1">
  603. <xs:complexType>
  604. <xs:sequence>
  605. <xs:element name="all-permissions" type="base-permisson" minOccurs="0" maxOccurs="1"/>
  606. <xs:element name="map-permission" type="instance-permisson" minOccurs="0"
  607. maxOccurs="unbounded"/>
  608. <xs:element name="queue-permission" type="instance-permisson" minOccurs="0"
  609. maxOccurs="unbounded"/>
  610. <xs:element name="multimap-permission" type="instance-permisson" minOccurs="0"
  611. maxOccurs="unbounded"/>
  612. <xs:element name="topic-permission" type="instance-permisson" minOccurs="0"
  613. maxOccurs="unbounded"/>
  614. <xs:element name="list-permission" type="instance-permisson" minOccurs="0"
  615. maxOccurs="unbounded"/>
  616. <xs:element name="set-permission" type="instance-permisson" minOccurs="0"
  617. maxOccurs="unbounded"/>
  618. <xs:element name="lock-permission" type="instance-permisson" minOccurs="0"
  619. maxOccurs="unbounded"/>
  620. <xs:element name="atomic-number-permission" type="instance-permisson" minOccurs="0"
  621. maxOccurs="unbounded"/>
  622. <xs:element name="countdown-latch-permission" type="instance-permisson" minOccurs="0"
  623. maxOccurs="unbounded"/>
  624. <xs:element name="semaphore-permission" type="instance-permisson" minOccurs="0"
  625. maxOccurs="unbounded"/>
  626. <xs:element name="id-generator-permission" type="instance-permisson" minOccurs="0"
  627. maxOccurs="unbounded"/>
  628. <xs:element name="executor-service-permission" type="instance-permisson" minOccurs="0"
  629. maxOccurs="unbounded"/>
  630. <xs:element name="transaction-permission" type="base-permisson" minOccurs="0" maxOccurs="1"/>
  631. <xs:element name="listener-permisson" minOccurs="0" maxOccurs="unbounded">
  632. <xs:complexType>
  633. <xs:complexContent>
  634. <xs:extension base="base-permisson">
  635. <xs:attribute name="name" type="non-space-string" use="required"/>
  636. </xs:extension>
  637. </xs:complexContent>
  638. </xs:complexType>
  639. </xs:element>
  640. </xs:sequence>
  641. </xs:complexType>
  642. </xs:element>
  643. </xs:sequence>
  644. <xs:attribute name="enabled" type="xs:string" default="false"/>
  645. </xs:complexType>
  646. <xs:complexType name="login-modules">
  647. <xs:sequence>
  648. <xs:element name="login-module" type="login-module" minOccurs="0" maxOccurs="unbounded"/>
  649. </xs:sequence>
  650. </xs:complexType>
  651. <xs:complexType name="login-module">
  652. <xs:sequence>
  653. <xs:element name="properties" type="properties" minOccurs="0" maxOccurs="1"/>
  654. </xs:sequence>
  655. <xs:attribute name="class-name" type="non-space-string" use="required"/>
  656. <xs:attribute name="usage" use="optional" default="required">
  657. <xs:simpleType>
  658. <xs:union>
  659. <xs:simpleType>
  660. <xs:restriction base="xs:string">
  661. <xs:enumeration value="REQUIRED"/>
  662. <xs:enumeration value="OPTIONAL"/>
  663. <xs:enumeration value="REQUISITE"/>
  664. <xs:enumeration value="SUFFICIENT"/>
  665. </xs:restriction>
  666. </xs:simpleType>
  667. <xs:simpleType>
  668. <xs:restriction base="non-space-string"/>
  669. </xs:simpleType>
  670. </xs:union>
  671. </xs:simpleType>
  672. </xs:attribute>
  673. </xs:complexType>
  674. <xs:complexType name="base-permisson">
  675. <xs:sequence>
  676. <xs:element name="endpoints" type="endpoints" minOccurs="0" maxOccurs="1"/>
  677. </xs:sequence>
  678. <xs:attribute name="principal" type="xs:string" use="optional" default="*">
  679. <xs:annotation>
  680. <xs:documentation>
  681. Name of the principal. Wildcards(*) can be used.
  682. </xs:documentation>
  683. </xs:annotation>
  684. </xs:attribute>
  685. </xs:complexType>
  686. <xs:complexType name="instance-permisson">
  687. <xs:complexContent>
  688. <xs:extension base="base-permisson">
  689. <xs:sequence>
  690. <xs:element name="actions" type="actions" minOccurs="1" maxOccurs="1"/>
  691. </xs:sequence>
  692. <xs:attribute name="name" type="xs:string" use="required">
  693. <xs:annotation>
  694. <xs:documentation>
  695. Name of the permission. Wildcards(*) can be used.
  696. </xs:documentation>
  697. </xs:annotation>
  698. </xs:attribute>
  699. </xs:extension>
  700. </xs:complexContent>
  701. </xs:complexType>
  702. <xs:complexType name="endpoints">
  703. <xs:sequence>
  704. <xs:element name="endpoint" minOccurs="1" maxOccurs="unbounded" default="127.0.0.1">
  705. <xs:annotation>
  706. <xs:documentation>
  707. Endpoint address of principal. Wildcards(*) can be used.
  708. </xs:documentation>
  709. </xs:annotation>
  710. <xs:simpleType>
  711. <xs:restriction base="xs:string"/>
  712. </xs:simpleType>
  713. </xs:element>
  714. </xs:sequence>
  715. </xs:complexType>
  716. <xs:complexType name="actions">
  717. <xs:sequence>
  718. <xs:element name="action" minOccurs="1" maxOccurs="unbounded">
  719. <xs:annotation>
  720. <xs:documentation>
  721. Permission actions that are permitted on Hazelcast instance objects.
  722. </xs:documentation>
  723. </xs:annotation>
  724. <xs:simpleType>
  725. <xs:union>
  726. <xs:simpleType>
  727. <xs:restriction base="xs:string">
  728. <xs:enumeration value="all"/>
  729. <xs:enumeration value="create"/>
  730. <xs:enumeration value="destroy"/>
  731. <xs:enumeration value="put"/>
  732. <xs:enumeration value="add"/>
  733. <xs:enumeration value="get"/>
  734. <xs:enumeration value="set"/>
  735. <xs:enumeration value="remove"/>
  736. <xs:enumeration value="offer"/>
  737. <xs:enumeration value="poll"/>
  738. <xs:enumeration value="take"/>
  739. <xs:enumeration value="lock"/>
  740. <xs:enumeration value="listen"/>
  741. <xs:enumeration value="publish"/>
  742. <xs:enumeration value="increment"/>
  743. <xs:enumeration value="decrement"/>
  744. <xs:enumeration value="execute"/>
  745. <xs:enumeration value="countdown"/>
  746. <xs:enumeration value="acquire"/>
  747. <xs:enumeration value="release"/>
  748. <xs:enumeration value="drain"/>
  749. <xs:enumeration value="statistics"/>
  750. </xs:restriction>
  751. </xs:simpleType>
  752. <xs:simpleType>
  753. <xs:restriction base="non-space-string"/>
  754. </xs:simpleType>
  755. </xs:union>
  756. </xs:simpleType>
  757. </xs:element>
  758. </xs:sequence>
  759. </xs:complexType>
  760. </xs:schema>