objectGrid.xsd file

Use the ObjectGrid descriptor XML schema to configure WebSphere® eXtreme Scale.

See the ObjectGrid descriptor XML file for descriptions of the elements and attributes defined in the objectGrid.xsd file. For information about the Spring objectgrid.xsd file, see Spring descriptor XML file.

[Version 8.6 and later]
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:cc="http://ibm.com/ws/objectgrid/config" xmlns:dgc="http://ibm.com/ws/objectgrid/config" elementFormDefault="qualified" targetNamespace="http://ibm.com/ws/objectgrid/config">

	<xsd:element name="objectGridConfig">
		<xsd:complexType>
			<xsd:sequence>
                <xsd:element maxOccurs="1" minOccurs="1" name="objectGrids" type="dgc:objectGrids">
					<xsd:unique name="objectGridNameUnique">
						<xsd:selector xpath="dgc:objectGrid" />
						<xsd:field xpath="@name" />
					</xsd:unique>
				</xsd:element>
				<xsd:element maxOccurs="1" minOccurs="0" name="backingMapPluginCollections" type="dgc:backingMapPluginCollections" />
			</xsd:sequence>
		</xsd:complexType>

		<xsd:key name="backingMapPluginCollectionId">
			<xsd:selector xpath="dgc:backingMapPluginCollections/dgc:backingMapPluginCollection" />
			<xsd:field xpath="@id" />
		</xsd:key>

		<xsd:keyref name="pluginCollectionRef" refer="dgc:backingMapPluginCollectionId">
			<xsd:selector xpath="dgc:objectGrids/dgc:objectGrid/dgc:backingMap" />
			<xsd:field xpath="@pluginCollectionRef" />
		</xsd:keyref>
	</xsd:element>

	<xsd:complexType name="objectGrids">
		<xsd:sequence>
			<xsd:element maxOccurs="unbounded" minOccurs="1" name="objectGrid" type="dgc:objectGrid">
				<xsd:unique name="backingMapNameUnique">
					<xsd:selector xpath="dgc:backingMap" />
					<xsd:field xpath="@name" />
				</xsd:unique>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="backingMapPluginCollections">
		<xsd:sequence>
			<xsd:element maxOccurs="unbounded" minOccurs="0" name="backingMapPluginCollection" type="dgc:backingMapPluginCollection" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="objectGrid">
		<xsd:sequence>
			<xsd:element maxOccurs="unbounded" minOccurs="0" name="bean" type="dgc:gridBean"/>
			<xsd:element maxOccurs="unbounded" minOccurs="0" name="backingMap" type="dgc:backingMap" />
			<xsd:element maxOccurs="1" minOccurs="0" name="querySchema" type="dgc:querySchema"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="xsd:string" use="required" />
		<xsd:attribute name="authorizationMechanism" type="dgc:authorizationMechanism" use="optional" />
		<xsd:attribute name="accessByCreatorOnlyMode" type="dgc:accessByCreatorOnlyMode" use="optional" />
		<xsd:attribute name="securityEnabled" type="xsd:boolean" use="optional" />
		<xsd:attribute name="txTimeout" type="xsd:int" use="optional" />

		<xsd:attribute name="permissionCheckPeriod" type="xsd:int" use="optional" />
		<xsd:attribute name="entityMetadataXMLFile" type="xsd:string" use="optional" />
		<xsd:attribute name="initialState" type="dgc:initialState" use="optional" />
		<xsd:attribute name="txIsolation" type="dgc:transactionIsolation" use="optional" />
	</xsd:complexType>


	<xsd:complexType name="backingMap">
		<xsd:sequence>
			<xsd:element maxOccurs="1" minOccurs="0" name="timeBasedDBUpdate" type="dgc:timeBasedDBUpdate" />
		</xsd:sequence>
		<xsd:attribute name="name" type="xsd:string" use="required" />
		<xsd:attribute name="readOnly" type="xsd:boolean" use="optional" />
        <xsd:attribute name="pluginCollectionRef" type="xsd:string" use="optional"/>
        <xsd:attribute name="preloadMode" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="lockStrategy" type="dgc:lockStrategy" use="optional"/>
		<xsd:attribute name="copyMode" type="dgc:copyMode" use="optional" />
        <xsd:attribute name="valueInterfaceClassName" type="xsd:string" use="optional"/>
        <xsd:attribute name="numberOfBuckets" type="xsd:int" use="optional"/>
        <xsd:attribute name="nullValuesSupported" type="xsd:boolean" use="optional"/>
		<xsd:attribute name="lockTimeout" type="xsd:int" use="optional" />
        <xsd:attribute name="numberOfLockBuckets" type="xsd:int" use="optional"/>
		<xsd:attribute name="copyKey" type="xsd:boolean" use="optional" />
		<xsd:attribute name="timeToLive" type="xsd:int" use="optional" />
        <xsd:attribute name="ttlEvictorType" type="dgc:ttlEvictorType" use="optional"/>
		<xsd:attribute name="writeBehind" type="xsd:string" use="optional" />
        <xsd:attribute name="evictionTriggers" type="xsd:string" use="optional"/>
		<xsd:attribute name="template" type="xsd:boolean" use="optional" />
        <xsd:attribute name="nearCacheInvalidationEnabled" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="nearCacheLastAccessTTLSyncEnabled" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="nearCacheEnabled" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="keyOutputFormat" type="dgc:outputFormat" use="optional"/>
        <xsd:attribute name="valueOutputFormat" type="dgc:outputFormat" use="optional"/>
	</xsd:complexType>



	<xsd:complexType name="gridBean">
		<xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="property" type="dgc:property"/>
		</xsd:sequence>
		<xsd:attribute name="className" type="xsd:string" use="optional" />
		<xsd:attribute name="id" type="dgc:gridBeanId" use="required" />
		<xsd:attribute name="osgiService" type="xsd:string" use="optional" />
	</xsd:complexType>
	
    <xsd:complexType name="mapBean">
        <xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="property"
                type="dgc:property" />
        </xsd:sequence>
        <xsd:attribute name="className" type="xsd:string" use="optional" />
        <xsd:attribute name="id" type="dgc:mapBeanId" use="required" />
        <xsd:attribute name="osgiService" type="xsd:string" use="optional" />
    </xsd:complexType>
	

	<xsd:complexType name="backingMapPluginCollection">
		<xsd:sequence>
			<xsd:element maxOccurs="unbounded" minOccurs="0" name="bean" type="dgc:mapBean"/>
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:string" use="required" />
	</xsd:complexType>

	<xsd:complexType name="property">
		<xsd:attribute name="name" type="xsd:string" use="required" />
		<xsd:attribute name="value" type="xsd:string" use="required" />
		<xsd:attribute name="type" type="dgc:propertyType" use="required" />
		<xsd:attribute name="description" type="xsd:string" use="optional" />
	</xsd:complexType>

	<xsd:simpleType name="propertyType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="java.lang.Boolean" />
			<xsd:enumeration value="boolean" />
			<xsd:enumeration value="java.lang.String" />
			<xsd:enumeration value="java.lang.Integer" />
			<xsd:enumeration value="int" />
			<xsd:enumeration value="java.lang.Double" />
			<xsd:enumeration value="double" />
			<xsd:enumeration value="java.lang.Byte" />
			<xsd:enumeration value="byte" />
			<xsd:enumeration value="java.lang.Short" />
			<xsd:enumeration value="short" />
			<xsd:enumeration value="java.lang.Long" />
			<xsd:enumeration value="long" />
			<xsd:enumeration value="java.lang.Float" />
			<xsd:enumeration value="float" />
			<xsd:enumeration value="java.lang.Character" />
			<xsd:enumeration value="char" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="gridBeanId">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="TransactionCallback" />
			<xsd:enumeration value="ObjectGridEventListener" />
			<xsd:enumeration value="ObjectGridLifecycleListener" />
			<xsd:enumeration value="SubjectSource" />
			<xsd:enumeration value="SubjectValidation" />
			<xsd:enumeration value="ObjectGridAuthorization" />
			<xsd:enumeration value="CollisionArbiter" />
		</xsd:restriction>
	</xsd:simpleType>


	<xsd:simpleType name="mapBeanId">         
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="Loader" />
			<xsd:enumeration value="ObjectTransformer" />
			<xsd:enumeration value="OptimisticCallback" />
			<xsd:enumeration value="Evictor" />
			<xsd:enumeration value="MapEventListener" />
			<xsd:enumeration value="BackingMapLifecycleListener" />
			<xsd:enumeration value="MapIndexPlugin" />
			<xsd:enumeration value="MapSerializerPlugin" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="copyMode">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="COPY_ON_READ_AND_COMMIT" />
			<xsd:enumeration value="COPY_ON_READ" />
			<xsd:enumeration value="COPY_ON_WRITE" />
			<xsd:enumeration value="NO_COPY" />
			<xsd:enumeration value="COPY_TO_BYTES" />
			<xsd:enumeration value="COPY_TO_BYTES_RAW" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="lockStrategy">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="OPTIMISTIC" />
			<xsd:enumeration value="PESSIMISTIC" />
			<xsd:enumeration value="NONE" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="ttlEvictorType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="CREATION_TIME" />
			<xsd:enumeration value="LAST_ACCESS_TIME" />
			<xsd:enumeration value="LAST_UPDATE_TIME" />
			<xsd:enumeration value="NONE" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="authorizationMechanism">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="AUTHORIZATION_MECHANISM_JAAS" />
			<xsd:enumeration value="AUTHORIZATION_MECHANISM_CUSTOM" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="accessByCreatorOnlyMode">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="disabled" />
			<xsd:enumeration value="complement" />
			<xsd:enumeration value="supersede" />
		</xsd:restriction>
	</xsd:simpleType>

	<!-- The following is added by Jian for time-based database update -->
	<xsd:complexType name="timeBasedDBUpdate">
        <xsd:attribute name="persistenceUnitName" type="xsd:string" use="optional"/>
		<xsd:attribute name="mode" type="cc:dbUpdateMode" use="optional" />
        <xsd:attribute name="timestampField" type="xsd:string" use="optional"/>
		<xsd:attribute name="entityClass" type="xsd:string" use="required" />
        <xsd:attribute name="jpaPropertyFactory" type="xsd:string" use="optional"/>
	</xsd:complexType>

	<xsd:simpleType name="dbUpdateMode">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="INVALIDATE_ONLY" />
			<xsd:enumeration value="UPDATE_ONLY" />
			<xsd:enumeration value="INSERT_UPDATE" />
		</xsd:restriction>
	</xsd:simpleType>



	<!-- The following is added by Jian for single query -->
	<xsd:complexType name="querySchema">
		<xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="mapSchemas" type="dgc:mapSchemas">
				<xsd:unique name="mapNameUnique">
					<xsd:selector xpath="dgc:mapSchema" />
					<xsd:field xpath="@mapName" />
				</xsd:unique>
			</xsd:element>
            <xsd:element maxOccurs="1" minOccurs="0" name="relationships" type="dgc:relationships"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="mapSchemas">
		<xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="1" name="mapSchema" type="dgc:mapSchema"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="relationships">
		<xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="1" name="relationship" type="dgc:relationship"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="mapSchema">
		<xsd:attribute name="mapName" type="xsd:string" use="required" />
		<xsd:attribute name="valueClass" type="xsd:string" use="required" />
        <xsd:attribute name="primaryKeyField" type="xsd:string" use="optional"/>
        <xsd:attribute name="accessType" type="cc:accessType" use="optional"/>
	</xsd:complexType>

	<xsd:complexType name="relationship">
		<xsd:attribute name="source" type="xsd:string" use="required" />
		<xsd:attribute name="target" type="xsd:string" use="required" />
        <xsd:attribute name="relationField" type="xsd:string" use="required"/>
        <xsd:attribute name="invRelationField" type="xsd:string" use="optional"/>
	</xsd:complexType>

	<xsd:simpleType name="accessType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="PROPERTY" />
			<xsd:enumeration value="FIELD" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="initialState">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="OFFLINE" />
			<xsd:enumeration value="PRELOAD" />
			<xsd:enumeration value="ONLINE" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="transactionIsolation">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="READ_UNCOMMITTED" />
			<xsd:enumeration value="READ_COMMITTED" />
			<xsd:enumeration value="REPEATABLE_READ" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="outputFormat">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="NATIVE"/>
            <xsd:enumeration value="RAW"/>
        </xsd:restriction>
    </xsd:simpleType>
</xsd:schema>