Spring-XML-Deskriptordatei

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.
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.
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.
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.

Element "endPoint"

Gibt eine Liste mit Katalogserviceendpunkten für eine bestimmte fremde Katalogservicedomäne an.

Element "catalogServerEndPoint"

Verwenden Sie das Element "catalogServerEndPoint", um einen Katalogserverendpunkt für ein Element "catalog server" zu erstellen.
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.
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.
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.
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.
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.
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.
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.
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"
/>