Administration guide > Configure the deployment environment > Configuring Spring integration



Spring descriptor XML file

Use a Spring descriptor XML file to configure and integrate eXtreme Scale with Spring.

In the following sections, each element and attribute of the Spring objectgrid.xsd file is defined. The Spring objectgrid.xsd file is in the ogspring.jar file and the objectgrid namespace com/ibm/ws/objectgrid/spring/namespace. See the Spring objectgrid.xsd file for an example of the descriptor XML schema.


register element

Use the register element to register the default bean factory for the ObjectGrid.


Attributes

id

Name of the default bean directory for a particular ObjectGrid.

gridname

Name of the ObjectGrid instance. The value assigned to this attribute must correspond to a valid ObjectGrid configured in the ObjectGrid descriptor file.

<register
(1)    id="register id"
(2)    gridname="ObjectGrid name"
/>


server element

Use the server element to define an eXtreme Scale server, which can host a container, a catalog service, or both.


Attributes

id

Name of the eXtreme Scale server.

tracespec

Indicates the type of trace and enables trace and trace specification for the server.

tracefile

Provides the path and name of the traceFile to create and use.

statspec

Indicates the statistic specification for the server.

jmxport

Designates the unused port number through which to enable JMX/RMI connections. JMX enables monitoring and management from remote systems.

isCatalog

Specifies whether the particular server hosts a catalog service. The default value is false.

name

Name of the server.

haManagerPort

Sets the port number for the High Availability Manager (HA Manager).

listenerHost

Sets the host name to which the ORB should bind.

listenerPort

Sets the port to which the ORB should bind.

maximumThreadPoolSize

Sets the maximum number of threads in the pool.

memoryThresholdPercentage

Sets the memory threshold (percentage of max heap) for memory based eviction.

minimumThreadPoolSize

Sets the minimum number of threads in the pool.

workingDirectory

The property that defines which directory the ObjectGrid server should use for all default settings.

zoneName

Defines the zone to which this server belongs.

enableChannelFramework

Sets the TransportMode on the IBM ORB properties to ChannelFramework,

enableSystemStreamToFile

Defines whether SystemOut and SystemErr should be sent to a file.

enableMBeans

Determines whether or not the ObjectGrid will register MBeans in this process.

serverPropertyFile

Loads the server properties from a file.

catalogServerProperties

Catalog server that hosts server.

<server
(1)    id="server id"
(2)    tracespec="the server trace specification"
(3)    tracefile="the server trace file"
(4)    statspec="the server statistic specification"
(5)    jmxport="JMX port number"
(6)    isCatalog="true"|”false”
(7)    name="the server name”
(8) haManagerPort="the haManager port"
(9) listenerHost="the orb binding host name"
(10) listenerPort="the orb binding listener port"
(11) maximumThreadPoolSize="the number of maximum threads"
(12) memoryThresholdPercentage="the memory threshold (percentage of max heap)"
(13) minimumThreadPoolSize="the number of minimum threads"
(14) workingDirectory="location for the working directory"
(15) zoneName="the zone name"
(16) enableChannelFramework="true"|”false”
(17) enableSystemStreamToFile="true"|”false”
(18) enableMBeans="true"|”false”
(19 serverPropertyFile="location of the server properties file."
(20) catalogServerProperties="the catalog server properties reference"
/>


catalog element

Use the catalog element to route to container servers in the data grid.


Attributes

host

Specifies the host name of the workstation where the catalog service is running.

port

Specifies the port number paired with the host name to determine the catalog service port which the client can connect to.

<catalog
(1)    host="catalog service host name"
(2)    port="catalog service port number"
/>


catalog server element

Use the catalog Server properties element to define a catalog server service.


Attributes

catalogServerEndPoint

Connection properties for the catalog server.

enableQuorum

Determines whether to enable quorum.

heartBeatFrequencyLevel

Sets the heartbeat frequency level.

domainName

Defines the domain name used to uniquely identify this catalog service grid to clients when routing to multiple domains.

foreignDomains

A bidirectional connection will be established to each of the foreign domains for the purpose of exchanging data in a multi-primary scenario.

clusterSecurityURL

Sets the location of the security file specific to the catalog service.

<catalog server
(1) catalogServerEndPoint="a catalog server endpoint reference "
(2) enableQuorum="true"|”false”
(3) heartBeatFrequencyLevel="
        HEARTBEAT_FREQUENCY_LEVEL_TYPICAL|
        HEARTBEAT_FREQUENCY_LEVEL_RELAXED|
        HEARTBEAT_FREQUENCY_LEVEL_AGGRESSIVE"
(4) domainName="the domain name used to uniquely identify this catalog service grid"
(5) domainEndpoints="a reference to the domain name endpoints"
(6) foreignDomains="the name of the foreign domain"
(7) clusterSecurityURL="the The cluster security file location."/>


catalog server endpoint element

Use the Catalog Server EndPoint element to create a catalog server endpoint to be used by a catalog server element.


Attributes

serverName

Name that identifies the process that you are launching.

hostName

Specifies the host name for the machine where the server is launched.

clientPort

Specifies the port used for peer catalog cluster communication.

peerPort

Specifies the port used for peer catalog cluster communication.

<catalogServerEndPoint
(1) name="catalog server endpoint name"
(2) host=""
(3) clientPort=""
(4) peerPort""
/>


container element

Use the container element to store the data itself.


Attributes

objectgridxml

Specifies the path and name of the descriptor XML file to use that specifies characteristics for the ObjectGrid, including maps, locking strategy, and plug-ins.

deploymentxml

Specifies the path and name of the XML file that is used with the descriptor XML to determine partitioning, replication, number of initial containers, and other settings.

server

Specifies the server on which the container is hosted.

<server
(1)    objectgridxml="the objectgrid descriptor XML file"
(2)    deploymentxml ="the objectgrid deployment descriptor XML file "
(3)    server="the server reference "
/>


JPALoader element

Use the JPALoader element to synchronize the ObjectGrid cache with an existing backend data-store when using the ObjectMap API.


Attributes

entityClassName

Enables usage of JPAs such as EntityManager.persist and EntityManager.find. The entityClassName attribute is required for the JPALoader.

preloadPartition

Specifies the partition number at which the map preload is started. If the value is less than 0, or greater than (totalNumberOfPartition – 1), the map preload is not started.

<JPALoader
(1)    entityClassName="the entity class name"
(2)    preloadPartition ="int"
/>


JPATxCallback element

Use the JPATxCallback element to coordinate JPA and ObjectGrid transactions.


Attributes

persistenceUnitName

Creates a JPA EntityManagerFactory and locates the JPA entity meta-data in the persistence.xml file. The persistenceUnitName attribute is required.

jpaPropertyFactory

Factory to create a persistence property map to override the default persistence properties. This attribute should reference a bean.

exceptionMapper

Specifies the ExceptionMapper plug-in that can be used for JPA-specific or database-specific exception mapping functions. This attribute should reference a bean.

<JPATxCallback
(1)    persistenceUnitName="the JPA persistence unit name"
(2)    jpaPropertyFactory ="JPAPropertyFactory bean reference"
(3)    exceptionMapper="ExceptionMapper bean reference"
/>


JPAEntityLoader element

Use the JPAEntityLoader element to synchronize the ObjectGrid cache with an existing backend data-store when using the EntityManager API.


Attributes

entityClassName

Enables usage of JPAs such as EntityManager.persist and EntityManager.find. The entityClassName attribute is optional for the JPAEntityLoader element. If the element is not configured, the entity class configured in the ObjectGrid entity map is used. The same class must be used for the ObjectGrid EntityManager and for the JPA provider.

preloadPartition

Specifies the partition number at which the map preload is started. If the value is less than 0, or greater than (totalNumberOfPartition – 1) the map preload is not launched.

<JPAEntityLoader
(1)    entityClassName="the entity class name"
(2)    preloadPartition ="int"
/>


LRUEvictor element

Use the LRUEvictor element to decide which entries to evict when a map exceeds its maximum number of entries.


Attributes

maxSize

Specifies the total entries in a queue until the evictor must intervene.

sleepTime

Sets the time in seconds between an evictor's sweep over map queues to determine any necessary actions on the map.

numberOfLRUQueues

Specifies the setting of how many queues the evictor must scan to avoid having a single queue that is the size of the entire map.

<LRUEvictor
(1)    maxSize="int"
(2)    sleepTime ="seconds"
(3)    numberOfLRUQueues ="int"
/>


LFUEvictor element

Use the LFUEvictor element to determine which entries to evict when a map exceeds its maximum number of entries.


Attributes

maxSize

Specifies the total entries that are allowed in each heap until the evictor must act.

sleepTime

Sets the time in seconds between an evictor's sweeps over map heaps to determine any necessary actions on the map.

numberOfHeaps

Specifies the setting of how many heaps the evictor must scan to avoid having a single heap that is the size of the entire map.

<LFUEvictor
(1)    maxSize="int"
(2)    sleepTime ="seconds"
(3)    numberOfHeaps ="int"


HashIndex element

Use the HashIndex element with Java™ reflection to dynamically introspect objects stored in a map when the objects are updated.


Attributes

name

Name of the index, which must be unique for each map.

attributeName

Name of the attribute to index. For field-access indexes, the attribute name is equivalent to the field name. For property-access indexes, the attribute name is the JavaBean-compatible property name.

rangeIndex

Indicates whether range indexing is enabled. The default value is false.

fieldAccessAttribute

Used for non-entity maps. The getter method is used to access the data. The default value is false. If you specify the value as true, the object is accessed using the fields directly.

POJOKeyIndex

Used for non-entity maps. The default value is false. If you specify the value as true, the index introspects the object in the key part of the map, which is useful when the key is a composite key and the value does not have the key embedded within it. If you do not set the value or you specify the value as false, the index introspects the object in the value part of the map.

<HashIndex
(1)    name="index name"
(2)    attributeName="attribute name"
(3)    rangeIndex ="true"|"false"
(4)    fieldAccessAttribute ="true"|"false"

(5)    POJOKeyIndex ="true"|"false"
/>


Parent topic:

Configure Spring integration


Related concepts

Spring extension beans and namespace support


Related tasks

Start a container server with Spring

Related reference

Spring objectgrid.xsd file