Administration guide > Configure the deployment environment > Configuring data grids



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.

<?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:key name="streamName">
            <xsd:selector xpath="dgc:objectGrids/dgc:objectGrid/dgc:
                    streamQuerySet/dgc:stream"/>
            <xsd:field xpath="@name"/>
        </xsd:key>

        <xsd:keyref name="streamRef" refer="dgc:streamName">
            <xsd:selector xpath="dgc:objectGrids/dgc:objectGrid/dgc:backingMap"/>
            <xsd:field xpath="@streamRef"/>
        </xsd:keyref>

        <xsd:key name="viewName">
            <xsd:selector xpath="dgc:objectGrids/dgc:objectGrid/dgc:streamQuerySet/dgc:view"/>
            <xsd:field xpath="@name"/>
        </xsd:key>

        <xsd:keyref name="viewRef" refer="dgc:viewName">
            <xsd:selector xpath="dgc:objectGrids/dgc:objectGrid/dgc:backingMap"/>
            <xsd:field xpath="@viewRef"/>
        </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:unique name="streamQuerySetNameUnique">
                    <xsd:selector xpath="dgc:streamQuerySet"/>
                    <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:bean"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="backingMap"
                        type="dgc:backingMap"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="querySchema" type="dgc:querySchema"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="streamQuerySet"
                        type="dgc:streamQuerySet">
                <xsd:unique name="stream">
                    <xsd:selector xpath="dgc:stream"/>
                    <xsd:field xpath="@name"/>
                </xsd:unique>
                <xsd:unique name="view">
                    <xsd:selector xpath="dgc:view"/>
                    <xsd:field xpath="@name"/>
                </xsd:unique>
            </xsd:element>
        </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: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="ttlEvictoryType" type="dgc:ttlEvictorType" use="optional"/>
        <xsd:attribute name="streamRef" type="xsd:string" use="optional"/>
        <xsd:attribute name="viewRef" type="xsd:string" 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:complexType>

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

    <xsd:complexType name="backingMapPluginCollection">
        <xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="bean" type="dgc:bean"/>
        </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="beanId">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="TransactionCallBack"/>
            <xsd:enumeration value="ObjectGridEventListener"/>
            <xsd:enumeration value="SubjectSource"/>
            <xsd:enumeration value="MapAuthorization"/>
            <xsd:enumeration value="SubjectValidation"/>
            <xsd:enumeration value="ObjectGridAuthorization"/>

            <xsd:enumeration value="Loader"/>
            <xsd:enumeration value="ObjectTransformer"/>
            <xsd:enumeration value="OptimisticCallback"/>
            <xsd:enumeration value="Evictor"/>
            <xsd:enumeration value="MapEventListener"/>
            <xsd:enumeration value="MapIndexPlugin"/>

        </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: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>

    <xsd:complexType name="streamQuerySet">
        <xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="stream" type="dgc:stream">
                <xsd:unique name="streamBasicColumnUnique">
                    <xsd:selector xpath="dgc:basic"/>
                    <xsd:field xpath="@column"/>
                </xsd:unique>
            </xsd:element>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="view" type="dgc:view">
                <xsd:unique name="viewBasicColumnUnique">
                    <xsd:selector xpath="dgc:basic"/>
                    <xsd:field xpath="@column"/>
                </xsd:unique>
            </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="name" type="xsd:string" use="required"/>
        <xsd:attribute name="viewResultsToListenersOnly" type="xsd:boolean"
                    default="false" use="optional"/>
        <xsd:attribute name="deployInPrimaryOnly" type="xsd:boolean" default="true"
                    use="optional"/>
    </xsd:complexType>

    <xsd:complexType name="stream">
        <xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="basic" type="dgc:basic"/>
        </xsd:sequence>
        <xsd:attribute name="valueClass" type="xsd:string" use="required"/>
        <xsd:attribute name="name" type="xsd:string" use="required"/>
        <xsd:attribute name="sql" type="xsd:string" use="optional"/>
        <xsd:attribute name="access" type="cc:accessType" use="optional"/>
    </xsd:complexType>

    <xsd:complexType name="view">
        <xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="id" type="dgc:basic"/>
            <xsd:element element maxOccurs="unbounded" minOccurs="0" name="basic"
                    type="dgc:basic"/>
        </xsd:sequence>
        <xsd:attribute name="name" type="xsd:string" use="required"/>
        <xsd:attribute name="sql" type="xsd:string" use="optional"/>
        <xsd:attribute name="valueClass" type="xsd:string" use="optional"/>
        <xsd:attribute name="access" type="cc:accessType" use="optional"/>
    </xsd:complexType>

    <xsd:complexType name="basic">
        <xsd:attribute name="name" type="xsd:string" use="required"/>
        <xsd:attribute name="column" type="xsd:string" use="required"/>
    </xsd:complexType>

    <xsd:complexType name="id">
        <xsd:attribute name="name" type="xsd:string" use="required"/>
        <xsd:attribute name="column" type="xsd:string" use="required"/>
    </xsd:complexType>    

    <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>

    <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:schema>


Parent topic:

Configure data grids


Related concepts

Plug-ins for indexing data

Configure loaders

Configure write-behind loader support


Related tasks

Configure local deployments

Configure evictors

Configure a locking strategy

Configure peer-to-peer replication with JMS

Related reference

ObjectGrid descriptor XML file