Use um arquivo XML descritor do Spring para configurar e integrar o eXtreme Scale com o
Spring.
Nas seguintes seções, cada elemento e atributo do arquivo
objectgrid.xsd Spring é definido.
O arquivo objectgrid.xsd do Spring está no arquivo ogspring.jar
e no namespace do Objectgrid com/ibm/ws/objectgrid/spring/namespace.
Consulte o Arquivo objectgrid.xsd Spring para obter um exemplo do esquema
do XML descritor.
Elemento register
Utilize o elemento register
para registrar o bean factory padrão para o ObjectGrid.
- Número de ocorrências: Zero para muitas
- Elemento-filho: Nenhum
Atributos- id
- Especifica o nome do diretório bean padrão para um
determinado ObjectGrid.
- gridname
- Especifica o nome da instância do ObjectGrid. O valor designado para esse atributo deve corresponder a um
ObjectGrid válido configurado no arquivo descritor ObjectGrid.
<register
id="register id"
gridname="ObjectGrid name"
/>
Elemento server
Use o elemento server para definir um servidor, que pode hospedar um contêiner, um serviço de catálogo, ou ambos.
- Número de ocorrências: Zero para muitas
- Elemento-filho: Nenhum
Atributos- id
- Especifica o nome do servidor eXtreme Scale.
- tracespec
- Indica o tipo de rastreio e permite o rastreio e a especificação
de rastreio para o servidor.
- tracefile
- Fornece o caminho e o nome do arquivo de rastreio para criar e usar.
- statspec
- Indica a especificação de estatísticas para o servidor.
- jmxport
- Especifica o número da porta que o
gerenciador de alta disponibilidade usa. Se essa propriedade não for configurada, uma porta livre
não será escolhida. Essa propriedade é ignorada nos ambientes WebSphere Application Server.
- isCatalog
- Especifica se o servidor particular hospeda um serviço de catálogo.
O valor padrão é false.
- name
- Especifica o nome do servidor.
- haManagerPort
- Especifica o número da porta que o
gerenciador de alta disponibilidade usa. Se essa propriedade não for configurada, uma porta livre
não será escolhida. Essa propriedade é ignorada nos ambientes WebSphere Application Server.
- listenerHost
Especifica o nome do host ao qual o
Object Request Broker (ORB) se conecta para comunicação com o Internet
Inter-ORB Protocol (IIOP). O valor deve ser um nome de domínio ou
endereço IP completo. Se sua configuração envolver diversas placas
de rede, configure o host e a porta do listener para permitir que o Object Request Broker
na JVM conheça o endereço IP para o qual se ligar. Se você não especificar
qual endereço IP usar, sintomas tais como tempos limites de conexão, falhas
de API incomuns e clientes que parecem ser interrompidos podem ocorrer.
- listenerPort
- Especifica o número da porta ao qual o
Object Request Broker (ORB) se conecta. Esta configuração define que contêineres
e clientes se comunicam com o serviço de catálogo por meio do ORB.
No WebSphere Application Server, a listenerPort é
herdada pela configuração de porta BOOTSTRAP_ADDRESS. Esta
propriedade se aplica ao servidor de contêiner e ao serviço de catálogo.
- maximumThreadPoolSize
- Configura o número máximo de encadeamentos no conjunto.
- memoryThresholdPercentage
- Configura o limite de memória (porcentagem de heap máx.) para o despejo de memória.
- minimumThreadPoolSize
- Configura o número mínimo de encadeamentos no conjunto.
- workingDirectory
- A propriedade que define qual diretório o servidor ObjectGrid usa para todas as configurações padrão.
- zoneName
- Define a zona à qual este servidor pertence.
- enableSystemStreamToFile
- Define se SystemOut e SystemErr são enviados para um arquivo.
- enableMBeans
- Determina se o ObjectGrid registra os MBeans neste processo.
- serverPropertyFile
- Carrega as propriedades de servidor de um arquivo.
- catalogServerProperties
- Especifica o servidor de catálogos que hospeda o servidor.
<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"
/>
Elemento catalog
Use o elemento catalog para rotear
os servidores de contêineres na grade de dados.
- Número de ocorrências: Zero para muitas
- Elemento-filho: Nenhum
Atributos- host
- Especifica o nome do host da estação de trabalho onde o serviço de catálogo
está em execução.
- port
- Especifica o número da porta unido ao nome do host para determinar a porta do serviço de catálogo com a qual o cliente pode se conectar.
<catalog
host="catalog service host name"
port="catalog service port number"
/>
Elemento catalogServerProperties
Use o elemento de propriedades do servidor de catálogos para definir um serviço de catálogo.
Atributos- catalogServerEndPoint
- Especifica as propriedades de conexão para o servidor de catálogos.
- enableQuorum
- Determina se o quorum deve ser ativado.
- heartBeatFrequencyLevel
- Configura o nível de frequência de pulsação.
- domainName
- Define o nome de domínio usado para identificar exclusivamente este domínio de serviço de catálogo para clientes ao rotear para diversos domínios do serviço de catálogo.
- clusterSecurityURL
- Configura o local do arquivo de segurança específico para o serviço de
catálogo.
<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>
Elemento foreignDomains
Use o elemento foreignDomains para se conectar com uma lista de outros domínios de serviço de catálogo. Você deve incluir o nome de cada domínio de serviço de catálogo e os terminais nos servidores de catálogo dentro de cada domínio do serviço de catálogo.
Elemento foreignDomain
Indica o nome do domínio de serviço de catálogo para se conectar. Esse nome é definido com o atributo
domainName no elemento catalogServiceProperties.
Terminal do elemento
Indica uma lista de terminais do serviço de catálogo para um domínio de serviço de catálogo externo especificado.
- Número de ocorrências: Uma para muitas
- Elemento-pai: Elemento foreignDomain
- Elemento-filho: Nenhum
- Atributos
- host
- Especifica o nome do host de um dos servidores de catálogos no domínio de serviço de catálogo.
- port
- Especifica a porta de um dos servidores de catálogos no domínio de serviço de catálogo.
Elemento Catalog Server Endpoint
Use o elemento endpoint do servidor de catálogos para criar um terminal do servidor de catálogos para ser usado por um elemento do servidor de catálogos.
- Número de ocorrências: Zero para muitas
- Elemento-filho: Nenhum
Atributos- serverName
- Especifica o nome que identifica o processo que você está ativando.
- hostName
- Especifica o nome do host para a máquina em que o servidor é ativado.
- clientPort
- Especifica a porta usada para comunicação do cluster do catálogo do peer.
- peerPort
- Especifica a porta usada para comunicação do cluster do catálogo do peer.
<catalogServerEndPoint
name="catalog server endpoint name"
host=""
clientPort=""
peerPort=""
/>
Elemento container
Utilize o
elemento container para armazenar os próprios dados.
- Número de ocorrências: Zero para muitas
- Elemento-filho: Nenhum
Atributos- objectgridxml
- Especifica o caminho e o nome do arquivo do XML descritor
a ser usado para especificar as características do ObjectGrid,
incluindo mapas, estratégia de bloqueio e plug-ins.
- deploymentxml
- Especifica o caminho e o nome do arquivo XML que é usado com o arquivo descritor XML. Esse arquivo determina o particionamento, a replicação, o número de contêineres iniciais e outras configurações.
- server
- Especifica o servidor no qual o contêiner está hospedado.
<server
objectgridxml="the objectgrid descriptor XML file"
deploymentxml ="the objectgrid deployment descriptor XML file "
server="the server reference "
/>
Elemento JPALoader
Use o elemento JPALoader para sincronizar
o cache ObjectGrid com um armazenamento de dados backend existente
ao usar a API ObjectMap.
- Número de ocorrências: Zero para muitas
- Elemento-filho: Nenhum
Atributos- entityClassName
- Ativa o uso de JPAs, como EntityManager.persist e EntityManager.find.
O atributo entityClassName é necessário para o
JPALoader.
- preloadPartition
- Especifica a partição na qual o pré-carregamento
do mapa será iniciado.
Se o valor for menor que 0 ou maior
que (totalNumberOfPartition – 1), o pré-carregamento do mapa não
será iniciado.
<JPALoader
entityClassName="the entity class name"
preloadPartition ="int"
/>
Elemento JPATxCallback
Use o elemento JPATxCallback
para coordenar as transações JPA e ObjectGrid.
- Número de ocorrências: Zero para muitas
- Elemento-filho: Nenhum
Atributos- persistenceUnitName
- Cria um JPA EntityManagerFactory e localiza os metadados da entidade JPA no arquivo persistence.xml. O atributo persistenceUnitName é necessário.
- jpaPropertyFactory
- Especifica o factory para criar um mapa
de propriedade de persistência para substituir as propriedades de persistência padrão. Este
atributo referencia um bean.
- exceptionMapper
- Especifica o plug-in ExceptionMapper que pode ser
usado para funções de mapeamento de exceção específicos do JPA ou específicos do
banco de dados. Este
atributo referencia um bean.
<JPATxCallback
persistenceUnitName="the JPA persistence unit name"
jpaPropertyFactory ="JPAPropertyFactory bean reference"
exceptionMapper="ExceptionMapper bean reference"
/>
Elemento JPAEntityLoader
Use o elemento JPAEntityLoader para sincronizar o cache ObjectGrid com um armazenamento de dados backend existente ao usar a API
EntityManager.
- Número de ocorrências: Zero para muitas
- Elemento-filho: Nenhum
Atributos- entityClassName
- Ativa o uso de JPAs, como EntityManager.persist e EntityManager.find.
O atributo entityClassName é opcional para o
elemento JPAEntityLoader. Se o elemento não estiver configurado, a classe de entidade
configurada no mapa de entidade ObjectGrid será usada. A mesma classe deve ser usada para o ObjectGrid EntityManager
e para o provedor JPA.
- preloadPartition
- Especifica a partição na qual o pré-carregamento
do mapa será iniciado.
Se o valor for menor que 0 ou maior
que (totalNumberOfPartition – 1), o pré-carregamento do mapa não
será iniciado.
<JPAEntityLoader
entityClassName="the entity class name"
preloadPartition ="int"
/>
Elemento LRUEvictor
Use o elemento LRUEvictor
para decidir quais entradas
devem ser descartadas quando o mapa exceder o número máximo de entradas.
- Número de ocorrências: Zero para muitas
- Elemento-filho: Nenhum
Atributos- maxSize
- Especifica o total de entradas em uma fila até o
evictor tiver que intervir.
- sleepTime
- Configura o tempo em segundos entre o tempo de acesso de despejo sobre as filas de mapa para determinar as ações necessárias no mapa.
- numberOfLRUQueues
- Permite configurar quantas
filas devem ser varridas pelo evictor para evitar que uma única fila tenha
o tamanho do mapa inteiro.
<LRUEvictor
maxSize="int"
sleepTime ="seconds"
numberOfLRUQueues ="int"
/>
Elemento LFUEvictor
Use o elemento LFUEvictor
para determinar quais entradas
devem se descartadas quando o mapa exceder o número máximo de entradas.
- Número de ocorrências: Zero para muitas
- Elemento-filho: Nenhum
Atributos- maxSize
- Especifica o total de entradas permitidas
em cada heap até o evictor tiver que atuar.
- sleepTime
- Configura o tempo em segundos entre os tempos de acesso do evictor
sobre os heaps de mapa para determinar as ações necessárias no mapa.
- numberOfHeaps
- Permite configurar quantos
heaps devem ser varridos pelo evictor para evitar que um único heap tenha
o tamanho do mapa inteiro.
<LFUEvictor
maxSize="int"
sleepTime ="seconds"
numberOfHeaps ="int"
/>
Elemento HashIndex
Use o elemento HashIndex
com a reflexão Java para examinar dinamicamente os
objetos armazenados em um mapa quando eles forem atualizados.
- Número de ocorrências: Zero para muitas
- Elemento-filho: Nenhum
Atributos- name
- Especifica o nome do índice, que deve ser exclusivo para cada mapa.
- attributeName
- Especifica o nome do atributo a ser indexado. Para índices acessados por campo, o nomes do atributo é equivalente ao nome de campo. Para índices acessados por propriedade, o nome do atributo é o nome da propriedade compatível com JavaBean.
- rangeIndex
- Indica se a indexação do intervalo está ativada. O valor padrão é false.
- fieldAccessAttribute
- Usado para mapas sem entidade. O método getter é usado para acessar os
dados. O valor padrão é false. Se você especificar o
valor true, o objeto será acessado usando diretamente
os campos.
- POJOKeyIndex
- Usado para mapas sem entidade. O valor padrão é false.
Se o valor for especificado como true, o índice examinará o objeto na parte da chave do mapa. Esta inspeção é útil quando a chave for uma chave composta e o valor não possuir uma chave integrada. Se você não especificar o valor ou especificá-lo como false, então o índice examinará o objeto na parte do valor do mapa.
<HashIndex
name="index name"
attributeName="attribute name"
rangeIndex ="true"|"false"
fieldAccessAttribute ="true"|"false"
POJOKeyIndex ="true"|"false"
/>