Fichier XML du descripteur de Spring

Utilisez un fichier XML de descripteur de Spring pour configurer et intégrer eXtreme Scale à Spring.

Dans les sections ci-après, chacun des éléments et attributs du fichier objectgrid.xsd de Spring est défini. Le fichier Spring objectgrid.xsd se trouve dans le fichier ogspring.jar et l'espace de nom ObjectGrid com/ibm/ws/objectgrid/spring/namespace. Pour un exemple de schéma XML de descripteur, voir la rubrique Fichier objectgrid.xsd de Spring.

Elément register

Utilisez l'élément register pour enregistrer la fabrique de beans par défaut de l'ObjectGrid.
Attributs
id
Spécifie le nom du répertoire de beans par défaut d'un ObjectGrid particulier.
gridname
Spécifie le nom de l'instance ObjectGrid. La valeur affectée à cet attribut doit correspondre à un ObjectGrid valide configuré dans le fichier du descripteur d'ObjectGrid.
<register
	id="register id"
	gridname="ObjectGrid name"
/>

Elément server

Utilisez l'élément de serveur pour définir un serveur qui peut héberger un conteneur, un service de catalogue ou les deux.
Attributs
id
Spécifie le nom du serveur eXtreme Scale.
tracespec
Indique le type de trace et active la trace et la spécification de trace pour le serveur.
tracefile
Fournit le chemin et le nom du fichier de trace à créer et utiliser.
statspec
Indique la spécification des statistiques du serveur.
jmxport
Indique le numéro de port utilisé par le gestionnaire de haute disponibilité. Si cette propriété n'est pas définie, un port libre est choisi. Cette propriété est ignorée dans les environnements WebSphere Application Server.
isCatalog
Spécifie si le serveur particulier héberge un service de catalogue. La valeur par défaut est false.
name
Spécifie le nom du serveur.
haManagerPort
Indique le numéro de port utilisé par le gestionnaire de haute disponibilité. Si cette propriété n'est pas définie, un port libre est choisi. Cette propriété est ignorée dans les environnements WebSphere Application Server.
listenerHost

Indique le nom d'hôte auquel l'ORB (Object Request Broker) se connecte pour communiquer avec IIOP (Internet Inter-ORB Protocol). La valeur doit être un nom qualifié complet de domaine ou une adresse IP. Si la configuration implique plusieurs cartes réseau, configurez l'hôte du programme d'écoute et le port d'écoute pour que l'ORB (Object Request Broker) dans la machine JVM connaisse l'adresse IP à laquelle se connecter. Si vous ne définissez pas l'adresse IP à utiliser, des symptômes (délais de connexion, défaillances inhabituelles d'API et clients qui semblent se bloquer) apparaissent.

listenerPort
Indique le numéro de port auquel se connecte l'ORB (Object Request Broker). Ce paramètre configure les conteneurs et les clients pour communiquer avec le service de catalogue via l'ORB. Dans WebSphere Application Server, le port d'écoute est hérité par la configuration de port BOOTSTRAP_ADDRESS. Cette propriété s'applique au serveur de conteneur et au service de catalogue.
maximumThreadPoolSize
Définit le nombre maximum d'unités d'exécution dans le pool.
memoryThresholdPercentage
Définit le seuil de mémoire (pourcentage du segment maximum) pour l'expulsion basée sur la mémoire.
minimumThreadPoolSize
Définit le nombre minimum d'unités d'exécution dans le pool.
workingDirectory
Propriété qui définit le répertoire que le serveur ObjectGrid utilise pour tous ses paramètres par défaut.
zoneName
Définit la zone à laquelle appartient ce serveur.
enableSystemStreamToFile
Indique si SystemOut et SystemErr sont envoyés dans un fichier.
enableMBeans
Détermine si l'ObjectGrid enregistre les MBeans dans ce processus.
serverPropertyFile
Charge les propriétés de serveur à partir d'un fichier.
catalogServerProperties
Spécifie le serveur de catalogue qui héberge le serveur.
<server
	id="server id"
	tracespec="the server trace specification"
	tracefile="the server trace file"
	statspec="the server statistic specification"
	jmxport="JMX port number"
	isCatalog="true"|”false”
	name="the server name”
	haManagerPort="the haManager port"
 	listenerHost="the orb binding host name"
 	listenerPort="the orb binding listener port"
 	maximumThreadPoolSize="the number of maximum threads"
 	memoryThresholdPercentage="the memory threshold (percentage of max heap)"
 	minimumThreadPoolSize="the number of minimum threads"
	workingDirectory="location for the working directory"
	zoneName="the zone name"
	enableSystemStreamToFile="true"|”false”
	enableMBeans="true"|”false”
	serverPropertyFile="location of the server properties file."
	catalogServerProperties="the catalog server properties reference"
/>

Elément catalog

L'élément catalog permet d'acheminer vers des serveurs de conteneur dans la grille de données.
Attributs
host
Spécifie le nom d'hôte du poste de travail sur lequel le service de catalogue est exécuté.
port
Indique le numéro de port associé au nom d'hôte pour déterminer le port du service de catalogue auquel le client peut se connecter.
<catalog
	host="catalog service host name"
	port="catalog service port number"
/>

catalogServerProperties element

Utilisez l'élément de propriétés du serveur de catalogue pour définir un service de catalogue.
Attributs
catalogServerEndPoint
Spécifie les propriétés de connexion du serveur de catalogue.
enableQuorum
Détermine si le quorum doit être activé.
heartBeatFrequencyLevel
Définit le niveau de fréquence des signaux de présence.
domainName
Spécifie le nom de domaine utilisé pour identifier de manière unique ce domaine de service de catalogue lors d'un routage vers plusieurs domaines de service de catalogue.
clusterSecurityURL
Définit l'emplacement du fichier de sécurité spécifique au service de catalogue.
<catalogServerProperties
	catalogServerEndPoint="a catalog server endpoint reference "
	enableQuorum="true"|"false"
	heartBeatFrequencyLevel="
		HEARTBEAT_FREQUENCY_LEVEL_TYPICAL|
		HEARTBEAT_FREQUENCY_LEVEL_RELAXED|
		HEARTBEAT_FREQUENCY_LEVEL_AGGRESSIVE"
	domainName="the domain name used to uniquely identify this catalog service domain"
 	clusterSecurityURL="the The cluster security file location.">
	<foreignDomains>
		<foreignDomain name="name_of_foreign_domain_1">
			<endPoint host="catalog server host 1" port="2809"/>
			<endPoint host="catalog server host 2" port="2809"/>
		</foreignDomain>
		<foreignDomain name="name_of_foreign_domain_2">
			<endPoint host="catalog server host 3" port="2809"/>
			<endPoint host="catalog server host 4" port="2809"/>
		</foreignDomain>
	</foreignDomains>
</catalogServerProperties>

Elément foreignDomains

Utilisez l'élément foreignDomains pour vous connecter à une liste d'autres domaines de service de catalogue. Vous devez inclure le nom de chaque domaine de service de catalogue et les noeud finals pour les serveurs de catalogue dans chaque domaine de service de catalogue.

Elément foreignDomaint

Indique le nom du domaine de service de catalogue à connecter. Ce nom est défini avec l'attribut domainName dans l'élément catalogServiceProperties.

Elément endPoint

Indique une liste de noeuds finals de service de catalogue pour un domaine de service de catalogue externe spécifié.

Elément catalog server endpoint

Utilisez l'élément de noeud final de serveur de catalogue pour créer un noeud final de serveur de catalogue devant être utilisé par un élément de serveur de catalogue.
Attributs
serverName
Spécifie le nom qui permettra d'identifier le processus que vous lancez.
hostName
Spécifie le nom d'hôte de l'ordinateur sur lequel le serveur est lancé.
clientPort
Spécifie le port utilisé pour les communications homologues de cluster de catalogues.
peerPort
Spécifie le port utilisé pour les communications homologues de cluster de catalogues.
<catalogServerEndPoint
 	name="catalog server endpoint name"
	host=""
	clientPort=""
	peerPort=""
/>

Elément container

L'élément container permet de stocker les données.
Attributs
objectgridxml
Spécifie le chemin d'accès et le nom du fichier XML du descripteur à utiliser qui spécifie les caractéristiques de l'ObjectGrid, avec les mappes, la stratégie de verrouillage et les plug-in.
deploymentxml
Indique le chemin et le nom du fichier XML qui est utilisé avec le fichier XML descripteur Ce fichier détermine le partitionnement, la réplication, le nombre de conteneurs initial, ainsi que d'autres paramètres.
server
Spécifie le serveur sur lequel le conteneur est hébergé.
<server
 	objectgridxml="the objectgrid descriptor XML file"
	deploymentxml ="the objectgrid deployment descriptor XML file "
	server="the server reference "
/>

Elément JPALoader

Utilisez l'élément JPALoader pour synchroniser le cache d'ObjectGrid avec un magasin de données dorsal existant si vous utilisez l'API ObjectMap.
Attributs
entityClassName
Permet l'utilisation d'API de persistance Java, telles qu'EntityManager.persist et EntityManager.find. L'attribut entityClassName est requis pour le chargeur JPA.
preloadPartition
Spécifie le numéro de partition à partir duquel le préchargement de la mappe démarre. Si la valeur est inférieure à 0 ou supérieure à (totalNumberOfPartition – 1), le préchargement de la mappe n'est pas démarré.
<JPALoader
	entityClassName="the entity class name"
	preloadPartition ="int"
/>

Elément JPATxCallback

Utilisez l'élément JPATxCallback pour coordonner les transactions JPA et ObjectGrid.
Attributs
persistenceUnitName
Crée une fabrique de JPA EntityManagerFactory et recherchez les métadonnées d'entité JPA dans le fichier persistence.xml. L'attribut persistenceUnitName est requis.
jpaPropertyFactory
Spécifie la fabrique permettant de créer une mappe de propriétés de persistance pour remplacer les propriétés de persistance par défaut. Cet attribut fait référence à un bean.
exceptionMapper
Spécifie le plug-in ExceptionMapper qui peut être utilisé pour les fonctions de mappage des exceptions spécifiques à JPA ou à la base de données. Cet attribut fait référence à un bean.
<JPATxCallback
	persistenceUnitName="the JPA persistence unit name"
	jpaPropertyFactory ="JPAPropertyFactory bean reference"
	exceptionMapper="ExceptionMapper bean reference"
/>

Elément JPAEntityLoader

Utilisez l'élément JPAEntityLoader pour synchroniser le cache d'ObjectGrid avec un magasin de données dorsal existant si vous utilisez l'API EntityManager.
Attributs
entityClassName
Permet l'utilisation d'API de persistance Java, telles qu'EntityManager.persist et EntityManager.find. L'attribut entityClassName est facultatif pour l'élément JPAEntityLoader. Si l'élément n'est pas configuré, la classe d'entités configurée dans la mappe d'entités d'ObjectGrid est utilisée. La même classe doit être utilisée pour le gestionnaire d'entités d'ObjectGrid et le fournisseur JPA.
preloadPartition
Spécifie le numéro de partition à partir duquel le préchargement de la mappe démarre. Si la valeur est inférieure à 0 ou supérieure à (totalNumberOfPartition – 1), le préchargement de la mappe n'est pas lancé.
<JPAEntityLoader
	entityClassName="the entity class name"
	preloadPartition ="int"
/>

Elément LRUEvictor

L'élément LRUEvictor permet de déterminer les entrées à expulser lorsqu'une mappe dépasse son nombre d'entrées maximal.
Attributs
maxSize
Spécifie le nombre total d'entrées dans une file d'attente avant que l'expulseur ne doive intervenir.
sleepTime
Définit la durée en secondes entre le balayage d'expulsion sur les files d'attente de mappe pour déterminer les éventuelles actions requises sur la mappe.
numberOfLRUQueues
Spécifie le nombre de files d'attente que l'expulseur doit analyser pour éviter d'avoir une seule file d'attente dont la taille correspond à celle de la mappe toute entière.
<LRUEvictor
	maxSize="int"
	sleepTime ="seconds"
	numberOfLRUQueues ="int"
/>

Elément LFUEvictor

L'élément LFUEvictor permet de déterminer les entrées à expulser lorsqu'une mappe dépasse son nombre d'entrées maximal.
Attributs
maxSize
Spécifie le nombre total d'entrées autorisées dans chaque segment de mémoire avant que l'expulseur ne doive intervenir.
sleepTime
Définit la durée en secondes entre le balayage d'expulsions sur les segments de mémoire de mappe pour déterminer les éventuelles actions requises sur la mappe.
numberOfHeaps
Spécifie le nombre de segments de mémoire que l'expulseur doit analyser pour éviter d'avoir un seul segment de mémoire dont la taille correspond à celle de la mappe toute entière.
<LFUEvictor
	maxSize="int"
	sleepTime ="seconds"
	numberOfHeaps ="int"
/>

Elément HashIndex

Utilisez l'élément HashIndex avec la réflexion Java pour introspecter de manière dynamique les objets stockés dans une mappe lorsque les objets sont mis à jour.
Attributs
name
Spécifie le nom de l'index, qui doit être unique pour chaque mappe.
attributeName
Spécifie le nom de l'attribut à indexer. Pour les index d'accès par zone, le nom d'attribut est équivalent au nom de zone. Pour les index d'accès par propriété, le nom d'attribut est le nom de la propriété compatible JavaBeans.
rangeIndex
Indique si l'indexation des plages est activée. La valeur par défaut est false.
fieldAccessAttribute
Utilisée pour les mappes qui ne correspondent pas à des entités. La méthode d'accès get permet d'accéder aux données. La valeur par défaut est false. Si vous spécifiez la valeur true, l'objet est accessible directement par les zones.
POJOKeyIndex
Utilisée pour les mappes qui ne correspondent pas à des entités. La valeur par défaut est false. Si vous définissez la valeur true, l'index introspecte l'objet dans la partie clé de la mappe. Cette inspection est utile lorsque la clé est une clé composite et que la valeur ne contient pas un clé intégrée. Si vous ne spécifiez pas de valeur ou que vous spécifiez la valeur false, l'index introspecte l'objet dans la partie valeur de la mappe.
<HashIndex
	name="index name"
	attributeName="attribute name"
	rangeIndex ="true"|"false"
	fieldAccessAttribute ="true"|"false"
	POJOKeyIndex ="true"|"false"
/>