Sie können eine Spring-XML-Deskriptordatei verwenden, um
eXtreme Scale mit Spring zu konfigurieren und zu integrieren.
In den folgenden Abschnitten finden Sie Definitionen der einzelnen Elemente und Attribute in der
Spring-Datei objectgrid.xsd.
Die Spring-Datei objectgrid.xsd befindet sich in der Datei ogspring.jar
und im ObjectGrid-Namespace com/ibm/ws/objectgrid/spring/namespace.
Ein Beispiel für das XML-Deskriptorschema finden Sie im Abschnitt
Spring-Datei objectgrid.xsd.
Element "register"
Verwenden Sie das Element "register", um die Standard-Bean-Factory
für das ObjectGrid zu registrieren.
- Anzahl der Vorkommen: 0 bis viele
- Untergeordnetes Element: Ohne
Attribute- id
- Gibt den Namen des Standard-Bean-Verzeichnisses für ein
bestimmtes ObjectGrid an.
- gridname
- Gibt den Namen der ObjectGrid-Instanz an. Der diesem Attribut zugeordnete Wert muss mit einem gültigen
ObjectGrid übereinstimmen, das in der ObjectGrid-Deskriptordatei konfiguriert ist.
<register
id="register id"
gridname="ObjectGrid name"
/>
Element "server"
Verwenden Sie das Element "server",
um einen Server zu definieren, der einen Container und/oder einen Katalogservice enthalten kann.
- Anzahl der Vorkommen: 0 bis viele
- Untergeordnetes Element: Ohne
Attribute- id
- Gibt den Namen des eXtreme-Scale-Servers an.
- tracespec
- Gibt den Tracetyp an und aktiviert
die Traceerstellung und die Tracespezifikation für den Server.
- tracefile
- Gibt den Pfad und den Namen der zu erstellenden und zu verwendenden Tracedatei an.
- statspec
- Gibt die Statistikspezifikation für den Server an.
- jmxport
- Gibt die Nummer des vom High Availability Manager verwendeten Ports an.
Wenn diese Eigenschaft nicht gesetzt wird, wird ein freier Port ausgewählt.
Diese Eigenschaft wird in Umgebungen von WebSphere Application
Server ignoriert.
- isCatalog
- Gibt an, ob der jeweilige Server einen Katalogservice enthält.
Der Standardwert ist false.
- name
- Gibt den Namen des Servers an.
- haManagerPort
- Gibt die Nummer des vom High Availability Manager verwendeten Ports an.
Wenn diese Eigenschaft nicht gesetzt wird, wird ein freier Port ausgewählt.
Diese Eigenschaft wird in Umgebungen von WebSphere Application
Server ignoriert.
- listenerHost
Gibt den Hostnamen an, an den der
Object Request Broker (ORB) für die Kommunikation mit Internet
Inter-ORB Protocol (IIOP) gebunden wird. Der Wert muss ein vollständig qualifizierter Domänenname oder eine IP-Adresse sein.
Wenn Ihre Konfiguration mehrere Netzkarten enthält, definieren Sie den Listener-Host und Listener-Port,
so dass der Object Request Broker in der JVM die IP-Adresse für die Bindung kennt.
Wenn Sie die zu verwendende IP-Adresse nicht kennen,
können Symptome wie Überschreitungen des Verbindungszeitlimits, ungewöhnliche
API-Fehler und Clients, die zu blockieren scheinen, auftreten.
- listenerPort
- Gibt die Portnummer an, an die der
Object Request Broker (ORB) gebunden wird. Diese Einstellung konfiguriert Container und Clients für
die Kommunikation mit dem Katalogservice über den ORB.
In WebSphere Application
Server wird der Listener-Port
von der Konfiguration des BOOTSTRAP_ADDRESS-Ports übernommen. Diese Eigenschaft gilt für den Container-Server und den Katalogservice.
- maximumThreadPoolSize
- Legt die maximale Anzahl der Threads im Pool fest.
- memoryThresholdPercentage
- Legt den Speicherschwellenwert (als Prozentsatz der maximalen Heapspeichergröße) für die speicherbasierte Bereinigung fest.
- minimumThreadPoolSize
- Legt die minimale Anzahl der Threads im Pool fest.
- workingDirectory
- Die Eigenschaft, die das Verzeichnis definiert, das der ObjectGrid-Server für alle Standardeinstellungen verwendet.
- zoneName
- Definiert die Zone, zu der dieser Server gehört.
- enableSystemStreamToFile
- Definiert, ob SystemOut und SystemErr an eine Datei gesendet werden.
- enableMBeans
- Bestimmt, ob das ObjectGrid MBeans in diesem Prozess registriert.
- serverPropertyFile
- Lädt die Servereigenschaftendatei aus einer Datei.
- catalogServerProperties
- Gibt den Katalogserver an, der den Server enthält.
<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"
/>
Element "catalog"
Verwenden Sie das Element "catalog", um Containerservices im Datengrid
weiterzuleiten.
- Anzahl der Vorkommen: 0 bis viele
- Untergeordnetes Element: Ohne
Attribute- host
- Gibt den Hostnamen der Workstation an, auf der der Service ausgeführt wird.
- port
- Gibt die Portnummer an, die in Kombination mit dem Hostnamen den Katalogserviceport bestimmt,
zu dem der Client eine Verbindung herstellen kann.
<catalog
host="catalog service host name"
port="catalog service port number"
/>
Element "catalogServerProperties"
Verwenden Sie das Element "catalogServerProperties", um einen Katalogservice zu definieren.
Attribute- catalogServerEndPoint
- Gibt die Verbindungseigenschaften für den Katalogserver an.
- enableQuorum
- Bestimmt, ob das Quorum aktiviert wird.
- heartBeatFrequencyLevel
- Legt die Überwachungssignalfrequenzstufe fest.
- domainName
- Definiert den Namen, der verwendet wird, um diese Katalogservicedomäne
eindeutig bei Clients zu identifizieren, wenn Anforderungen an mehrere Katalogeservicedomänen
weitergeleitet werden.
- clusterSecurityURL
- Definiert die Position der speziellen Sicherheitsdatei für den Katalogservice.
<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>
Element "foreignDomains"
Verwenden Sie das Element
"foreignDomains", um eine Verbindung zu einer Liste von Katalogservicedomänen herzustellen.
Sie müssen den Namen jeder Katalogservicedomäne und die Endpunkte für die Katalogserver in jeder
Katalogservicedomäne angeben.
Element "foreignDomain"
Gibt den Namen der Katalogservicedomäne
an, zu der die Verbindung hergestellt werden soll.
Dieser Name wird mit dem Attribut
domainName im Element "catalogServiceProperties" definiert.
- Anzahl der Vorkommen: 1 bis viele
- Übergeordnetes Element: Element "foreignDomains"
- Untergeordnetenes Element: Element "endPoint"
- Attribute
- name
- Gibt den Namen an, der die fremde Katalogservicedomäne identifiziert.
Element "endPoint"
Gibt eine Liste mit Katalogserviceendpunkten
für eine bestimmte fremde Katalogservicedomäne an.
- Anzahl der Vorkommen: 1 bis viele
- Übergeordnetes Element: Element "foreignDomain"
- Untergeordnetes Element: Ohne
- Attribute
- host
- Gibt den Hostnamen eines der Katalogserver in der Katalogservicedomäne an.
- port
- Gibt den Port eines der Katalogserver in der Katalogservicedomäne an.
Element "catalogServerEndPoint"
Verwenden Sie das Element "catalogServerEndPoint",
um einen Katalogserverendpunkt für ein Element "catalog server" zu erstellen.
- Anzahl der Vorkommen: 0 bis viele
- Untergeordnetes Element: Ohne
Attribute- serverName
- Gibt den Namen an, der den zu startenden Prozess identifiziert.
- hostName
- Gibt den Hostnamen der Maschine an, auf der der Server gestartet wird.
- clientPort
- Gibt den Port an, der für die Peer-Kommunikation mit dem Katalogcluster verwendet wird.
- peerPort
- Gibt den Port an, der für die Peer-Kommunikation mit dem Katalogcluster verwendet wird.
<catalogServerEndPoint
name="catalog server endpoint name"
host=""
clientPort=""
peerPort=""
/>
Element "container"
Verwenden Sie das Element "container", um die Daten selbst zu speichern.
- Anzahl der Vorkommen: 0 bis viele
- Untergeordnetes Element: Ohne
Attribute- objectgridxml
- Gib den Pfad und den Namen der zu verwendenden XML-Deskriptordatei an,
die die Eigenschaften für das ObjectGrid enthält, einschließlich Maps, Sperrstrategie und Plug-ins.
- deploymentxml
- Gibt den Pfad und den Namen der XML-Datei an, die mit der
XML-Deskriptordatei verwendet wird. Diese Datei bestimmt die Partitionierung, die Replikation, die Anzahl der
ersten Container und weitere Einstellungen.
- server
- Gibt den Server an, auf dem sich der Container befindet.
<server
objectgridxml="the objectgrid descriptor XML file"
deploymentxml ="the objectgrid deployment descriptor XML file "
server="the server reference "
/>
Element "JPALoader"
Verwenden Sie das Element "JPALoader", um den
ObjectGrid-Cache mit einem vorhandenen Back-End-Datenspeicher zu synchronisieren, wenn die API "ObjectMap" verwendet wird.
- Anzahl der Vorkommen: 0 bis viele
- Untergeordnetes Element: Ohne
Attribute- entityClassName
- Lässt die Verwendung von JPAs wie EntityManager.persist und EntityManager.find zu.
Das Attribut entityClassName ist für den JPALoader erforderlich.
- preloadPartition
- Gibt die Partitionsnummer an, bei der der Preload-Prozess für die Map gestartet wird.
Wenn der Wert kleiner als 0 oder größer als (totalNumberOfPartition
– 1) ist, wird der Map-Preload-Prozess nicht gestartet.
<JPALoader
entityClassName="the entity class name"
preloadPartition ="int"
/>
Element "JPATxCallback"
Verwenden Sie das Element "JPATxCallback", um JPA- und ObjectGrid-Transaktionen
zu koordinieren.
- Anzahl der Vorkommen: 0 bis viele
- Untergeordnetes Element: Ohne
Attribute- persistenceUnitName
- Erstellt eine JPA-EntityManagerFactory und sucht die Metadaten der JPA-Entität
in der Datei persistence.xml.
Das Attribut persistenceUnitName ist erforderlich.
- jpaPropertyFactory
- Gibt die Factory zum Erstellen
einer Map für Persistenzeigenschaften an, mit denen die Standardpersistenzeigenschaften überschrieben werden sollen. Dieses
Attribut referenziert eine Bean.
- exceptionMapper
- Das ExceptionMapper-Plug-in kann
für die Zuordnung von JPA-spezifischen Ausnahmen zu datenbankspezifischen Ausnahmen und umgekehrt verwendet werden.
Dieses
Attribut referenziert eine Bean.
<JPATxCallback
persistenceUnitName="the JPA persistence unit name"
jpaPropertyFactory ="JPAPropertyFactory bean reference"
exceptionMapper="ExceptionMapper bean reference"
/>
Element "JPAEntityLoader"
Verwenden Sie das Element "JPAEntityLoader", um den
ObjectGrid-Cache mit einem vorhandenen Back-End-Datenspeicher zu synchronisieren, wenn die API
EntityManager verwendet wird.
- Anzahl der Vorkommen: 0 bis viele
- Untergeordnetes Element: Ohne
Attribute- entityClassName
- Lässt die Verwendung von JPAs wie EntityManager.persist und EntityManager.find zu.
Das Attribut entityClassName ist für das Element
"JPAEntityLoader" optional. Wenn das Element nicht konfiguriert ist, wird die
entity in der ObjectGrid-Entitäts-Map konfigurierte Entitätsklasse verwendet.
Für den ObjectGrid-EntityManager
und den JPA-Provider muss dieselbe Klasse verwendet werden.
- preloadPartition
- Gibt die Partitionsnummer an, bei der der Preload-Prozess für die Map gestartet wird.
Wenn der Wert kleiner als 0 oder größer als (totalNumberOfPartition
– 1) ist, wird der Map-Preload-Prozess nicht gestartet.
<JPAEntityLoader
entityClassName="the entity class name"
preloadPartition ="int"
/>
Element "LRUEvictor"
Verwenden Sie das Element "LRUEvictor", um zu entscheiden, welche Einträge
entfernt werden, wenn die maximal zulässige Anzahl an Einträgen in einer Map überschritten wird.
- Anzahl der Vorkommen: 0 bis viele
- Untergeordnetes Element: Ohne
Attribute- maxSize
- Gibt die Gesamtanzahl der Einträge in einer Warteschlange an, bei der
Evictor (Bereinigungsprogramm) eingreifen muss.
- sleepTime
- Legt das Intervall (in Sekunden) fest, in dem die Bereinigung
die Map-Warteschlangen überprüft, um festzustellen, ob Aktionen für die Map ausgeführt werden müssen.
- numberOfLRUQueues
- Gibt an, wie viele Warteschlangen der Evictor durchsuchen
muss, um zu verhindern, dass eine einzige Warteschlange in der Größe der gesamten Map verwendet wird.
<LRUEvictor
maxSize="int"
sleepTime ="seconds"
numberOfLRUQueues ="int"
/>
Element "LFUEvictor"
Verwenden Sie das Element "LFUEvictor", um zu entscheiden, welche Einträge
entfernt werden, wenn die maximal zulässige Anzahl an Einträgen in einer Map überschritten wird.
- Anzahl der Vorkommen: 0 bis viele
- Untergeordnetes Element: Ohne
Attribute- maxSize
- Gibt an, wie viele Einträge insgesamt in jedem Heapspeicher zulässig sind, bevor der Evictor
eingreifen muss.
- sleepTime
- Legt das Intervall (in Sekunden) fest, in dem die Bereinigung
die Heapspeicher der Maps überprüft, um festzustellen, ob Aktionen für die Map ausgeführt werden müssen.
- numberOfHeaps
- Gibt an, wie viele Heapspeicher der Evictor durchsuchen
muss, um zu verhindern, dass ein einziger Heapspeicher in der Größe der gesamten Map verwendet wird.
<LFUEvictor
maxSize="int"
sleepTime ="seconds"
numberOfHeaps ="int"
/>
Element "HashIndex"
Verwenden Sie das Element "HashIndex" mit
Java-Reflexion, um in einer Map gespeicherte
Objekte zu überwachen, wenn sie aktualisiert werden.
- Anzahl der Vorkommen: 0 bis viele
- Untergeordnetes Element: Ohne
Attribute- name
- Gibt den Namen des Index an, der für jede Map eindeutig sein muss.
- attributeName
- Gibt den Namen des zu indexierenden Attributs an. Bei Feldzugriffsindizes entsprechen die Attributnamen den Feldnamen.
Bei Eigenschaftszugriffsindizes sind die Attributnamen die JavaBeans-kompatiblen Eigenschaftsnamen.
- rangeIndex
- Gibt an, ob die Bereichsindexierung aktiviert ist.
Der Standardwert ist false.
- fieldAccessAttribute
- Wird für Maps verwendet, die keine Entitäts-Maps sind.
Die Getter-Methode wird für den Zugriff auf die Daten verwendet.
Der Standardwert ist false. Wenn diese Einstellung den Wert true
hat, wird direkt über die Felder auf das Objekt zugegriffen.
- POJOKeyIndex
- Wird für Maps verwendet, die keine Entitäts-Maps sind.
Der Standardwert ist false. Wenn Sie den Wert
true angeben, überwacht der Index das Objekt in der Schlüsselkomponente der Map.
Diese Inspektion ist hilfreich, wenn der Schlüssel ein zusammengesetzter Schlüssel und in den Wert
kein Schlüssel eingebettet ist.
Wenn diese Einstellung nicht angegeben oder auf false gesetzt wird, überwacht der Index selbst das Objekt
im Wertteil der Map.
<HashIndex
name="index name"
attributeName="attribute name"
rangeIndex ="true"|"false"
fieldAccessAttribute ="true"|"false"
POJOKeyIndex ="true"|"false"
/>