Arquivo objectGrid.xsd

Use o esquema XML do descritor do ObjectGrid para configurar o WebSphere eXtreme Scale.

Consulte o Arquivo XML descritor do ObjectGrid para obter descrições dos elementos e atributos definidos no arquivo objectGrid.xsd. Para obter mais informações sobre o arquivo objectgrid.xsd Spring, consulte Arquivo XML descritor do Spring.

[Version 8.5 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:bean"/>
            <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: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="optional"/>
        <xsd:attribute name="id" type="dgc:beanId" 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: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="ObjectGridLifecycleListener"/>
            <xsd:enumeration value="SubjectSource"/>
            <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="BackingMapLifecycleListener"/>
            <xsd:enumeration value="MapIndexPlugin"/>
            <xsd:enumeration value="CollisionArbiter"/>
            <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>

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