123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410 |
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="1.7">
- <xs:element name="ehcache">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="1" minOccurs="0" ref="diskStore"/>
- <xs:element maxOccurs="1" minOccurs="0" ref="sizeOfPolicy"/>
- <xs:element maxOccurs="1" minOccurs="0" ref="transactionManagerLookup"/>
- <xs:element maxOccurs="1" minOccurs="0" ref="cacheManagerEventListenerFactory"/>
- <xs:element maxOccurs="1" minOccurs="0" ref="managementRESTService"/>
- <xs:element maxOccurs="unbounded" minOccurs="0" ref="cacheManagerPeerProviderFactory"/>
- <xs:element maxOccurs="unbounded" minOccurs="0" ref="cacheManagerPeerListenerFactory"/>
- <xs:element maxOccurs="1" minOccurs="0" ref="terracottaConfig"/>
- <xs:element maxOccurs="1" minOccurs="0" ref="defaultCache"/>
- <xs:element maxOccurs="unbounded" minOccurs="0" ref="cache"/>
- </xs:sequence>
- <xs:attribute name="name" use="optional"/>
- <xs:attribute default="true" name="updateCheck" type="xs:boolean" use="optional"/>
- <xs:attribute default="autodetect" name="monitoring" type="monitoringType" use="optional"/>
- <xs:attribute default="true" name="dynamicConfig" type="xs:boolean" use="optional"/>
- <xs:attribute default="15" name="defaultTransactionTimeoutInSeconds" type="xs:integer" use="optional"/>
- <xs:attribute default="0" name="maxBytesLocalHeap" type="memoryUnitOrPercentage" use="optional"/>
- <xs:attribute default="0" name="maxBytesLocalOffHeap" type="memoryUnit" use="optional"/>
- <xs:attribute default="0" name="maxBytesLocalDisk" type="memoryUnit" use="optional"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="managementRESTService">
- <xs:complexType>
- <xs:attribute name="enabled" type="xs:boolean" use="optional"/>
- <xs:attribute name="bind" use="optional"/>
- <xs:attribute name="securityServiceLocation" use="optional"/>
- <xs:attribute name="securityServiceTimeout" use="optional" type="xs:integer"/>
- <xs:attribute name="sslEnabled" use="optional" type="xs:boolean"/>
- <xs:attribute name="needClientAuth" use="optional" type="xs:boolean"/>
- <xs:attribute name="sampleHistorySize" use="optional" type="xs:integer"/>
- <xs:attribute name="sampleIntervalSeconds" use="optional" type="xs:integer"/>
- <xs:attribute name="sampleSearchIntervalSeconds" use="optional" type="xs:integer"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="diskStore">
- <xs:complexType>
- <xs:attribute name="path" use="optional"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="transactionManagerLookup">
- <xs:complexType>
- <xs:attribute name="class" use="required"/>
- <xs:attribute name="properties" use="optional"/>
- <xs:attribute name="propertySeparator" use="optional"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="cacheManagerEventListenerFactory">
- <xs:complexType>
- <xs:attribute name="class" use="required"/>
- <xs:attribute name="properties" use="optional"/>
- <xs:attribute name="propertySeparator" use="optional"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="cacheManagerPeerProviderFactory">
- <xs:complexType>
- <xs:attribute name="class" use="required"/>
- <xs:attribute name="properties" use="optional"/>
- <xs:attribute name="propertySeparator" use="optional"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="cacheManagerPeerListenerFactory">
- <xs:complexType>
- <xs:attribute name="class" use="required"/>
- <xs:attribute name="properties" use="optional"/>
- <xs:attribute name="propertySeparator" use="optional"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="terracottaConfig">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="1" minOccurs="0" name="tc-config">
- <xs:complexType>
- <xs:sequence>
- <xs:any maxOccurs="unbounded" minOccurs="0" processContents="skip"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- <xs:attribute default="localhost:9510" name="url" use="optional"/>
- <xs:attribute name="rejoin" type="xs:boolean" use="optional" default="false"/>
- <xs:attribute name="wanEnabledTSA" type="xs:boolean" use="optional" default="false"/>
- </xs:complexType>
- </xs:element>
- <!--
- add clone support for addition of cacheExceptionHandler. Important!
- -->
- <xs:element name="defaultCache">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cacheEventListenerFactory"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cacheExtensionFactory"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cacheLoaderFactory"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cacheDecoratorFactory"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="bootstrapCacheLoaderFactory"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="cacheExceptionHandlerFactory"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="pinning"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="terracotta"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="cacheWriter"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="copyStrategy"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="elementValueComparator"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="sizeOfPolicy"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="persistence"/>
- </xs:sequence>
- <xs:attribute name="diskExpiryThreadIntervalSeconds" type="xs:integer" use="optional"/>
- <xs:attribute name="diskSpoolBufferSizeMB" type="xs:integer" use="optional"/>
- <xs:attribute name="diskPersistent" type="xs:boolean" use="optional"/>
- <xs:attribute name="diskAccessStripes" type="xs:integer" use="optional" default="1"/>
- <xs:attribute name="eternal" type="xs:boolean" use="optional" default="false"/>
- <xs:attribute name="maxElementsInMemory" type="xs:nonNegativeInteger" use="optional"/>
- <xs:attribute name="maxEntriesLocalHeap" type="xs:nonNegativeInteger" use="optional"/>
- <xs:attribute name="clearOnFlush" type="xs:boolean" use="optional"/>
- <xs:attribute name="memoryStoreEvictionPolicy" type="xs:string" use="optional"/>
- <xs:attribute name="overflowToDisk" type="xs:boolean" use="optional"/>
- <xs:attribute name="timeToIdleSeconds" type="xs:nonNegativeInteger" use="optional"/>
- <xs:attribute name="timeToLiveSeconds" type="xs:nonNegativeInteger" use="optional"/>
- <xs:attribute name="maxElementsOnDisk" type="xs:nonNegativeInteger" use="optional"/>
- <xs:attribute name="maxEntriesLocalDisk" type="xs:nonNegativeInteger" use="optional"/>
- <xs:attribute name="transactionalMode" type="transactionalMode" use="optional" default="off"/>
- <xs:attribute name="statistics" type="xs:boolean" use="optional" default="false"/>
- <xs:attribute name="copyOnRead" type="xs:boolean" use="optional" default="false"/>
- <xs:attribute name="copyOnWrite" type="xs:boolean" use="optional" default="false"/>
- <xs:attribute name="cacheLoaderTimeoutMillis" type="xs:integer" use="optional" default="0"/>
- <xs:attribute name="overflowToOffHeap" type="xs:boolean" use="optional" default="false"/>
- <xs:attribute name="maxMemoryOffHeap" type="xs:string" use="optional"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="cache">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cacheEventListenerFactory"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cacheExtensionFactory"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cacheLoaderFactory"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="cacheDecoratorFactory"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="bootstrapCacheLoaderFactory"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="cacheExceptionHandlerFactory"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="pinning"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="terracotta"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="cacheWriter"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="copyStrategy"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="searchable"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="elementValueComparator"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="sizeOfPolicy"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="persistence"/>
- </xs:sequence>
- <xs:attribute name="diskExpiryThreadIntervalSeconds" type="xs:integer" use="optional"/>
- <xs:attribute name="diskSpoolBufferSizeMB" type="xs:integer" use="optional"/>
- <xs:attribute name="diskPersistent" type="xs:boolean" use="optional"/>
- <xs:attribute name="diskAccessStripes" type="xs:integer" use="optional" default="1"/>
- <xs:attribute name="eternal" type="xs:boolean" use="optional" default="false"/>
- <xs:attribute name="maxElementsInMemory" type="xs:nonNegativeInteger" use="optional"/>
- <xs:attribute name="maxEntriesLocalHeap" type="xs:nonNegativeInteger" use="optional"/>
- <xs:attribute name="memoryStoreEvictionPolicy" type="xs:string" use="optional"/>
- <xs:attribute name="clearOnFlush" type="xs:boolean" use="optional"/>
- <xs:attribute name="name" type="xs:string" use="required"/>
- <xs:attribute name="overflowToDisk" type="xs:boolean" use="optional"/>
- <xs:attribute name="timeToIdleSeconds" type="xs:nonNegativeInteger" use="optional"/>
- <xs:attribute name="timeToLiveSeconds" type="xs:nonNegativeInteger" use="optional"/>
- <xs:attribute name="maxElementsOnDisk" type="xs:nonNegativeInteger" use="optional"/>
- <xs:attribute name="maxEntriesLocalDisk" type="xs:nonNegativeInteger" use="optional"/>
- <xs:attribute name="maxEntriesInCache" type="xs:nonNegativeInteger" use="optional"/>
- <xs:attribute name="transactionalMode" type="transactionalMode" use="optional" default="off"/>
- <xs:attribute name="statistics" type="xs:boolean" use="optional" default="false"/>
- <xs:attribute name="copyOnRead" type="xs:boolean" use="optional" default="false"/>
- <xs:attribute name="copyOnWrite" type="xs:boolean" use="optional" default="false"/>
- <xs:attribute name="logging" type="xs:boolean" use="optional" default="false"/>
- <xs:attribute name="cacheLoaderTimeoutMillis" type="xs:integer" use="optional" default="0"/>
- <xs:attribute name="overflowToOffHeap" type="xs:boolean" use="optional" default="false"/>
- <xs:attribute name="maxMemoryOffHeap" type="xs:string" use="optional"/>
- <xs:attribute default="0" name="maxBytesLocalHeap" type="memoryUnitOrPercentage" use="optional"/>
- <xs:attribute default="0" name="maxBytesLocalOffHeap" type="memoryUnitOrPercentage" use="optional"/>
- <xs:attribute default="0" name="maxBytesLocalDisk" type="memoryUnitOrPercentage" use="optional"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="cacheEventListenerFactory">
- <xs:complexType>
- <xs:attribute name="class" use="required"/>
- <xs:attribute name="properties" use="optional"/>
- <xs:attribute name="propertySeparator" use="optional"/>
- <xs:attribute name="listenFor" use="optional" type="notificationScope" default="all"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="bootstrapCacheLoaderFactory">
- <xs:complexType>
- <xs:attribute name="class" use="required"/>
- <xs:attribute name="properties" use="optional"/>
- <xs:attribute name="propertySeparator" use="optional"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="cacheExtensionFactory">
- <xs:complexType>
- <xs:attribute name="class" use="required"/>
- <xs:attribute name="properties" use="optional"/>
- <xs:attribute name="propertySeparator" use="optional"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="cacheExceptionHandlerFactory">
- <xs:complexType>
- <xs:attribute name="class" use="required"/>
- <xs:attribute name="properties" use="optional"/>
- <xs:attribute name="propertySeparator" use="optional"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="cacheLoaderFactory">
- <xs:complexType>
- <xs:attribute name="class" use="required"/>
- <xs:attribute name="properties" use="optional"/>
- <xs:attribute name="propertySeparator" use="optional"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="cacheDecoratorFactory">
- <xs:complexType>
- <xs:attribute name="class" use="required"/>
- <xs:attribute name="properties" use="optional"/>
- <xs:attribute name="propertySeparator" use="optional"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="searchAttribute">
- <xs:complexType>
- <xs:attribute name="name" use="required" type="xs:string"/>
- <xs:attribute name="expression" type="xs:string"/>
- <xs:attribute name="class" type="xs:string"/>
- <xs:attribute name="type" type="xs:string" use="optional"/>
- <xs:attribute name="properties" use="optional"/>
- <xs:attribute name="propertySeparator" use="optional"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="searchable">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="searchAttribute"/>
- </xs:sequence>
- <xs:attribute name="keys" use="optional" type="xs:boolean" default="true"/>
- <xs:attribute name="values" use="optional" type="xs:boolean" default="true"/>
- <xs:attribute name="allowDynamicIndexing" use="optional" type="xs:boolean" default="false"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="pinning">
- <xs:complexType>
- <xs:attribute name="store" use="required" type="pinningStoreType"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="terracotta">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="1" ref="nonstop"/>
- </xs:sequence>
- <xs:attribute name="clustered" use="optional" type="xs:boolean" default="true"/>
- <xs:attribute name="coherentReads" use="optional" type="xs:boolean" default="true"/>
- <xs:attribute name="localKeyCache" use="optional" type="xs:boolean" default="false"/>
- <xs:attribute name="localKeyCacheSize" use="optional" type="xs:positiveInteger" default="300000"/>
- <xs:attribute name="orphanEviction" use="optional" type="xs:boolean" default="true"/>
- <xs:attribute name="orphanEvictionPeriod" use="optional" type="xs:positiveInteger" default="4"/>
- <xs:attribute name="copyOnRead" use="optional" type="xs:boolean" default="false"/>
- <xs:attribute name="coherent" use="optional" type="xs:boolean" default="false"/>
- <xs:attribute name="consistency" use="optional" type="consistencyType" default="eventual"/>
- <xs:attribute name="synchronousWrites" use="optional" type="xs:boolean" default="false"/>
- <xs:attribute name="concurrency" use="optional" type="xs:nonNegativeInteger" default="0"/>
- <xs:attribute name="localCacheEnabled" use="optional" type="xs:boolean" default="true"/>
- <xs:attribute name="compressionEnabled" use="optional" type="xs:boolean" default="false"/>
- </xs:complexType>
- </xs:element>
- <xs:simpleType name="consistencyType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="strong"/>
- <xs:enumeration value="eventual"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:element name="nonstop">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="1" ref="timeoutBehavior"/>
- </xs:sequence>
- <xs:attribute name="enabled" use="optional" type="xs:boolean" default="true"/>
- <xs:attribute name="immediateTimeout" use="optional" type="xs:boolean" default="false"/>
- <xs:attribute name="timeoutMillis" use="optional" type="xs:positiveInteger" default="30000"/>
- <xs:attribute name="searchTimeoutMillis" use="optional" type="xs:positiveInteger" default="30000"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="timeoutBehavior">
- <xs:complexType>
- <xs:attribute name="type" use="optional" type="timeoutBehaviorType" default="exception"/>
- <xs:attribute name="properties" use="optional" default=""/>
- <xs:attribute name="propertySeparator" use="optional" default=","/>
- </xs:complexType>
- </xs:element>
- <xs:simpleType name="timeoutBehaviorType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="noop"/>
- <xs:enumeration value="exception"/>
- <xs:enumeration value="localReads"/>
- <xs:enumeration value="localReadsAndExceptionOnWrite"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="monitoringType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="autodetect"/>
- <xs:enumeration value="on"/>
- <xs:enumeration value="off"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="pinningStoreType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="localMemory"/>
- <xs:enumeration value="inCache"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="terracottaCacheValueType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="serialization"/>
- <xs:enumeration value="identity"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="transactionalMode">
- <xs:restriction base="xs:string">
- <xs:enumeration value="off"/>
- <xs:enumeration value="xa_strict"/>
- <xs:enumeration value="xa"/>
- <xs:enumeration value="local"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:element name="cacheWriter">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="1" ref="cacheWriterFactory"/>
- </xs:sequence>
- <xs:attribute name="writeMode" use="optional" type="writeModeType" default="write-through"/>
- <xs:attribute name="notifyListenersOnException" use="optional" type="xs:boolean" default="false"/>
- <xs:attribute name="minWriteDelay" use="optional" type="xs:nonNegativeInteger" default="1"/>
- <xs:attribute name="maxWriteDelay" use="optional" type="xs:nonNegativeInteger" default="1"/>
- <xs:attribute name="rateLimitPerSecond" use="optional" type="xs:nonNegativeInteger" default="0"/>
- <xs:attribute name="writeCoalescing" use="optional" type="xs:boolean" default="false"/>
- <xs:attribute name="writeBatching" use="optional" type="xs:boolean" default="false"/>
- <xs:attribute name="writeBatchSize" use="optional" type="xs:positiveInteger" default="1"/>
- <xs:attribute name="retryAttempts" use="optional" type="xs:nonNegativeInteger" default="0"/>
- <xs:attribute name="retryAttemptDelaySeconds" use="optional" type="xs:nonNegativeInteger" default="1"/>
- <xs:attribute name="writeBehindConcurrency" use="optional" type="xs:nonNegativeInteger" default="1"/>
- <xs:attribute name="writeBehindMaxQueueSize" use="optional" type="xs:nonNegativeInteger" default="0"/>
- </xs:complexType>
- </xs:element>
- <xs:simpleType name="writeModeType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="write-through"/>
- <xs:enumeration value="write-behind"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:element name="cacheWriterFactory">
- <xs:complexType>
- <xs:attribute name="class" use="required"/>
- <xs:attribute name="properties" use="optional"/>
- <xs:attribute name="propertySeparator" use="optional"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="copyStrategy">
- <xs:complexType>
- <xs:attribute name="class" use="required" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="elementValueComparator">
- <xs:complexType>
- <xs:attribute name="class" use="required" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="sizeOfPolicy">
- <xs:complexType>
- <xs:attribute name="maxDepth" use="required" type="xs:integer"/>
- <xs:attribute name="maxDepthExceededBehavior" use="optional" default="continue" type="maxDepthExceededBehavior"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="persistence">
- <xs:complexType>
- <xs:attribute name="strategy" use="required" type="persistenceStrategy"/>
- <xs:attribute name="synchronousWrites" use="optional" default="false" type="xs:boolean"/>
- </xs:complexType>
- </xs:element>
- <xs:simpleType name="persistenceStrategy">
- <xs:restriction base="xs:string">
- <xs:enumeration value="localTempSwap"/>
- <xs:enumeration value="localRestartable"/>
- <xs:enumeration value="none"/>
- <xs:enumeration value="distributed"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="maxDepthExceededBehavior">
- <xs:restriction base="xs:string">
- <xs:enumeration value="continue"/>
- <xs:enumeration value="abort"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="notificationScope">
- <xs:restriction base="xs:string">
- <xs:enumeration value="local"/>
- <xs:enumeration value="remote"/>
- <xs:enumeration value="all"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="memoryUnit">
- <xs:restriction base="xs:token">
- <xs:pattern value="[0-9]+[bBkKmMgG]?"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="memoryUnitOrPercentage">
- <xs:restriction base="xs:token">
- <xs:pattern value="([0-9]+[bBkKmMgG]?|100%|[0-9]{1,2}%)"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:schema>
|