Utilice un archivo XML de descriptor Spring para configurar e integrar eXtreme Scale con Spring.
En las siguientes secciones, se define cada elemento y atributo del archivo
Spring objectgrid.xsd.
El archivo Spring objectgrid.xsd está en el archivo ogspring.jar y el espacio de nombres de ObjectGrid com/ibm/ws/objectgrid/spring/namespace.
Consulte Archivo Spring objectgrid.xsd si desea ver un ejemplo del esquema XML de descriptor.
Elemento register
Utilice el elemento register para registrar la fábrica de beans predeterminada para ObjectGrid.
- Número de apariciones: cero a muchas
- Elemento hijo: ninguno
Atributos- id
- Especifica el nombre del directorio de bean predeterminado para un
ObjectGrid determinado.
- gridname
- Especifica el nombre de la instancia de ObjectGrid. El valor asignado a este atributo se debe corresponder a un ObjectGrid válido configurado en el archivo descriptor ObjectGrid.
<register
id="ID de registro"
gridname="nombre de ObjectGrid"
/>
Elemento server
Utilice el elemento server para definir un servidor, que puede alojar un contenedor, un servicio de catálogo o ambos.
- Número de apariciones: cero a muchas
- Elemento hijo: ninguno
Atributos- id
- Especifica el nombre del servidor eXtreme Scale.
- tracespec
- Indica el tipo de rastreo y habilita el rastreo y la especificación para el servidor.
- tracefile
- Proporciona la vía de acceso y el nombre del archivo de rastreo para crear y utilizar.
- statspec
- Indica la especificación de estadística para el servidor.
- jmxport
- Especifica el número de puerto utilizado por High Availability Manager. Si no se establece esta propiedad, no se elige un puerto libre. Esta propiedad se ignora en los entornos WebSphere Application Server.
- isCatalog
- Especifica si el servidor determinado aloja un servicio de catalogo.
El valor predeterminado es false.
- name
- Especifica el nombre del servidor.
- haManagerPort
- Especifica el número de puerto utilizado por High Availability Manager. Si no se establece esta propiedad, no se elige un puerto libre. Esta propiedad se ignora en los entornos WebSphere Application Server.
- listenerHost
Especifique el nombre de host al que se enlaza el
Intermediario para solicitudes de objetos (ORB) para la comunicación con
el protocolo Inter-ORB de Internet (IIOP). El valor debe ser un nombre de dominio
totalmente calificado o una dirección IP. Si la configuración incluye varias
tarjetas de red, establezca el puerto y el host de escucha para permitir que el
Intermediario para solicitudes de objetos de la
JVM conozca la dirección IP a la que enlazarse. Si no especifica qué
dirección IP se debe utilizar, se pueden producir síntomas como
tiempos de espera de conexión excedidos, anomalías de
API inusuales y clientes que parece que se cuelgan.
- listenerPort
- Especifica el número de puerto al que se enlaza el
intermediario para solicitudes de objetos (ORB). Este valor configura los contenedores y clientes
para que se comuniquen con el servicio de catálogo mediante el ORB.
En WebSphere Application Server, el listenerPort se hereda de la configuración de puerto BOOTSTRAP_ADDRESS.Esta propiedad
se aplica al servidor de contenedor y al servicio de catálogo.
- maximumThreadPoolSize
- Establece el número máximo de hebras de la agrupación.
- memoryThresholdPercentage
- Establece el umbral de memoria (porcentaje máximo de almacenamiento dinámico) para desalojo basado en memoria.
- minimumThreadPoolSize
- Establece el número mínimo de hebras de la agrupación.
- workingDirectory
- La propiedad que define que directorio utiliza el servidor ObjectGrid para todos los valores predeterminados.
- zoneName
- Define la zona a la que pertenece este servidor.
- enableSystemStreamToFile
- Define si SystemOut y SystemErr se envían a un archivo.
- enableMBeans
- Determina si el ObjectGrid registra MBeans en este proceso.
- serverPropertyFile
- Carga las propiedades del servidor desde un archivo.
- catalogServerProperties
- Especifica el servidor de catálogo que aloja el servidor.
<server
id="server id"
tracespec="la especificación del rastreo de servidor"
tracefile="el archivo de rastreo del servidor"
statspec="la especificación de estadísticas del servidor"
jmxport="número de puerto JMX"
isCatalog="true"|”false”
name="el nombre de servidor”
haManagerPort="el puerto de haManager"
listenerHost="el nombre de host de enlace del orb"
listenerPort="el puerto de escucha de enlace del orb"
maximumThreadPoolSize="el numero máximo de hebras"
memoryThresholdPercentage="el umbral de memoria (porcentaje máximo de almacenamiento dinámico)"
minimumThreadPoolSize="el número mínimo de hebras"
workingDirectory="ubicación del directorio de trabajo"
zoneName="el nombre de la zona"
enableSystemStreamToFile="true"|”false”
enableMBeans="true"|”false”
serverPropertyFile="ubicación del archivo de propiedades del servidor"
catalogServerProperties="la referencia de propiedades del servidor de catálogo"
/>
Elemento catalog
Utilice el elemento catalog para direccionar a los servidores de contenedor de la cuadrícula de datos.
- Número de apariciones: cero a muchas
- Elemento hijo: ninguno
Atributos- host
- Especifica el nombre de sistema principal de la estación de trabajo en la que se ejecuta el servicio de catálogo.
- port
- Especifica el número de puerto emparejado con el nombre de host para determinar el puerto del servicio de catálogo al que se puede conectar el cliente.
<catalog
host="nombre de host del servicio de catálogo"
port="número de puerto del servicio de catálogo"
/>
elemento catalogServerProperties
Utilice el elemento de propiedades del servidor de catálogo para definir un servicio de catálogo.
Atributos- catalogServerEndPoint
- Especifica las propiedades de conexión del servidor de catálogo.
- enableQuorum
- Determina si se va a habilitar el quórum.
- heartBeatFrequencyLevel
- Establece el nivel de frecuencia de pulsaciones.
- domainName
- Define el nombre de dominio utilizado para identificar de forma exclusiva este dominio de servicio de catálogo a clientes al direccionar a varios dominios de servicio de catálogo.
- clusterSecurityURL
- Establece la ubicación del archivo de seguridad específico del servicio de catálogo.
<catalogServerProperties
catalogServerEndPoint="una referencia de punto final del servidor de catálogo"
enableQuorum="true"|"false"
heartBeatFrequencyLevel="
HEARTBEAT_FREQUENCY_LEVEL_TYPICAL|
HEARTBEAT_FREQUENCY_LEVEL_RELAXED|
HEARTBEAT_FREQUENCY_LEVEL_AGGRESSIVE"
domainName="el nombre de dominio utilizado para identificar de forma exclusiva este dominio de servicio de catálogo"
clusterSecurityURL="la ubicación del archivo de seguridad del clúster"
>
<foreignDomains>
<foreignDomain name="nombre_de_dominio_foráneo_1">
<endPoint host="host de servidor de catálogo 1" port="2809"/>
<endPoint host="host de servidor de catálogo 2" port="2809"/>
</foreignDomain>
<foreignDomain name="nombre_de_dominio_foráneo_2">
<endPoint host="host de servidor de catálogo 3" port="2809"/>
<endPoint host="host de servidor de catálogo 4" port="2809"/>
</foreignDomain>
</foreignDomains>
</catalogServerProperties>
Elemento foreignDomains
Utilice el elemento foreignDomains para conectarse a una lista de otros dominios de servicio de catálogo. Debe incluir el nombre de cada dominio de servicio de catálogo y los puntos finales para los servidores de catálogo en cada dominio de servicio de catálogo.
Elemento foreignDomain
Indica el nombre del dominio de servicio de catálogo al que conectarse. Este nombre se define con el atributo
domainName en el elemento catalogServiceProperties.
- Número de apariciones: una a muchas
- Elemento padre: Elemento foreignDomains
- Elemento hijo: Elemento endPoint
- Atributos
- name
- Especifica el nombre que identifica el dominio de servicio de catálogo foráneo.
Elemento endPoint
Indica una lista de puntos finales de servicio de catálogo para un dominio de servicio de catálogo foráneo especificado.
- Número de apariciones: una a muchas
- Elemento padre: Elemento foreignDomain
- Elemento hijo: ninguno
- Atributos
- host
- Especifica el nombre de host de uno de los servidores de catálogo en el dominio de servicio de catálogo.
- port
- Especifica el puerto de uno de los servidores de catálogo en el dominio de servicio de catálogo.
elemento punto final del servidor de catálogo
Utilice el elemento de punto final de servicio de catálogo para crear un punto final de servidor de catálogo para que sea utilizado por un elemento de servidor de catálogo.
- Número de apariciones: cero a muchas
- Elemento hijo: ninguno
Atributos- serverName
- Especifica el nombre que identifica el proceso que está iniciando.
- hostName
- Especifica el nombre de host para la máquina donde se inicia el servidor.
- clientPort
- Especifica el puerto utilizado para la comunicación del clúster del catálogo de igual.
- peerPort
- Especifica el puerto utilizado para la comunicación del clúster del catálogo de igual.
<catalogServerEndPoint
name="nombre de punto final de servidor de catálogo"
host=""
clientPort=""
peerPort=""
/>
Elemento container
Utilice el elemento container para almacenar los propios datos.
- Número de apariciones: cero a muchas
- Elemento hijo: ninguno
Atributos- objectgridxml
- Especifica la vía de acceso y el nombre del archivo XML de descriptor para utilizar que especifica las características para el ObjectGrid, incluidos las correlaciones, la estrategia de bloqueo y los plug-ins.
- deploymentxml
- Especifica la vía de acceso y el nombre del archivo XML que se utiliza con el archivo XML de descriptor. Este archivo determina el particionamiento, la réplica, el número de contenedores iniciales y otros valores.
- server
- Especifica el servidor en el que se aloja el contenedor.
<server
objectgridxml="el archivo XML de descriptor de objectgrid"
deploymentxml ="el archivo XML de descriptor de despliegue de objectgrid"
server="la referencia del servidor"
/>
Elemento JPALoader
Utilice el elemento JPALoader para sincronizar la memoria caché de ObjectGrid con un almacén de datos de programa de fondo existente cuando utilice la API ObjectMap.
- Número de apariciones: cero a muchas
- Elemento hijo: ninguno
Atributos- entityClassName
- Habilita el uso de JPA como, por ejemplo, EntityManager.persist y EntityManager.find.
El atributo entityClassName es necesario para JPALoader.
- preloadPartition
- Especifica el número de partición en el que se inicia la precarga de correlación.
Si el valor es inferior a 0, o mayor que (totalNumberOfPartition
– 1), no se inicia la precarga de correlación.
<JPALoader
entityClassName="el nombre de clase de entidad"
preloadPartition ="int"
/>
Elemento JPATxCallback
Utilice el elemento JPATxCallback para coordinar las transacciones
JPA y ObjectGrid.
- Número de apariciones: cero a muchas
- Elemento hijo: ninguno
Atributos- persistenceUnitName
- Crea un JPA EntityManagerFactory y localiza los metadatos de entidad JPA en el archivo persistence.xml. El atributo persistenceUnitName es necesario.
- jpaPropertyFactory
- Especifica la fábrica para crear una correlación de propiedad de persistencia para alterar temporalmente las propiedades predeterminadas de persistencia. Este atributo hace referencia a un bean.
- exceptionMapper
- Especifica el plug-in ExceptionMapper que se puede utilizar para las funciones de correlación de excepciones específicas de JPA o específicas de base de datos. Este atributo hace referencia a un bean.
<JPATxCallback
persistenceUnitName="el nombre de la unidad de persistencia JPA"
jpaPropertyFactory ="referencia de bean JPAPropertyFactory"
exceptionMapper="referencia de bean ExceptionMapper"
/>
Elemento JPAEntityLoader
Utilice el elemento JPAEntityLoader
para sincronizar la memoria caché de ObjectGrid con un almacén de datos de programa de fondo existente cuando utilice la API
EntityManager.
- Número de apariciones: cero a muchas
- Elemento hijo: ninguno
Atributos- entityClassName
- Habilita el uso de JPA como, por ejemplo, EntityManager.persist y EntityManager.find.
El atributo entityClassName es opcional para el elemento JPAEntityLoader. Si el elemento no se ha configurado, se utiliza la clase de entidad configurada en la correlación de entidades ObjectGrid. Se debe utilizar la misma clase para ObjectGrid EntityManager y para el proveedor JPA.
- preloadPartition
- Especifica el número de partición en el que se inicia la precarga de correlación.
Si el valor es menor que 0, o mayor que (totalNumberOfPartition
– 1) no se inicia la precarga de correlación.
<JPAEntityLoader
entityClassName="el nombre de clase de entidad"
preloadPartition ="int"
/>
Elemento LRUEvictor
Utilice el elemento LRUEvictor para decidir qué entradas desalojar cuando una correlación excede su número máximo de entradas.
- Número de apariciones: cero a muchas
- Elemento hijo: ninguno
Atributos- maxSize
- Especifica el total de entradas de una cola hasta que deba intervenir el desalojador.
- sleepTime
- Establece el tiempo en segundos entre los barridos de un desalojador sobre colas de correlación para determinar cualquier acción necesaria en la correlación.
- numberOfLRUQueues
- Especifica el valor sobre cuántas colas debe examinar el desalojador para evitar tener una sola cola que sea el tamaño de toda la correlación.
<LRUEvictor
maxSize="int"
sleepTime ="segundos"
numberOfLRUQueues ="int"
/>
Elemento LFUEvictor
Utilice el elemento LFUEvictor para determinar qué entradas desalojar cuando una correlación excede su número máximo de entradas.
- Número de apariciones: cero a muchas
- Elemento hijo: ninguno
Atributos- maxSize
- Especificar el total de entradas que están permitidas en cada almacenamiento dinámico hasta que deba actuar el desalojador.
- sleepTime
- Establece el tiempo en segundos entre los barridos de un desalojador sobre almacenamientos dinámicos de correlación para determinar cualquier acción necesaria en la correlación.
- numberOfHeaps
- Especifica el valor sobre cuántos almacenamientos dinámico debe examinar el desalojador para evitar tener un único almacenamiento dinámico que tenga el tamaño de toda la correlación.
<LFUEvictor
maxSize="int"
sleepTime ="segundos"
numberOfHeaps ="int"
/>
Elemento HashIndex
Utilice el elemento HashIndex con el reflejo Java para hacer una introspección dinámica de los objetos almacenados en una correlación cuando se actualizan los objetos.
- Número de apariciones: cero a muchas
- Elemento hijo: ninguno
Atributos- name
- Especifica el nombre del índice, que debe ser exclusivo para cada correlación.
- attributeName
- Especifica el nombre del atributo para indexar. Para los índices de acceso del campo, el nombre del atributo es equivalente al nombre de campo. Para los índices de acceso a propiedad, el nombre de atributo es el nombre de propiedad compatible con JavaBeans.
- rangeIndex
- Indica si está habilitada la indexación de rangos. El valor predeterminado es false.
- fieldAccessAttribute
- Se utiliza para las correlaciones sin entidad. Se utiliza el método getter para acceder a los datos. El valor predeterminado es false. Si especifica el valor como true, se accede al objeto a través de los campos directamente.
- POJOKeyIndex
- Se utiliza para las correlaciones sin entidad. El valor predeterminado es false. Si especifica el valor como true, el índice introspecciona el objeto en la parte de clave de la correlación. Esta inspección es útil cuando la clave es una clave compuesta y el valor no tiene una clave incorporada. Si no establece el valor o si especifica el valor como false, el índice realiza una introspección del objeto en la parte de valor de la correlación.
<HashIndex
name="nombre de índice"
attributeName="nombre de atributo"
rangeIndex ="true"|"false"
fieldAccessAttribute ="true"|"false"
POJOKeyIndex ="true"|"false"
/>