Schnittstelle des Arbeitsbereichspartitionsmanagers

Anwendungen interagieren mit dem Service für Arbeitsbereichspartitionen über die Schnittstelle des Arbeitsbereichspartitionsmanagers. Ein Benutzer kann eine Instanz der Schnittstelle des Arbeitsbereichspartitionsmanagers aus dem Namensservice abrufen und die unten definierten Methoden verwenden.

Eine Implementierung der Schnittstelle des Arbeitsbereichspartitionsmanagers ist in Java Naming unter java:comp/websphere/WorkAreaPartitionManager gebunden. Diese Schnittstelle ist für das Erstellen, Abrufen und Bearbeiten von Arbeitsbereichspartitionen vorgesehen:

package com.ibm.websphere.workarea;

import com.ibm.websphere.workarea.UserWorkArea;
import com.ibm.websphere.workarea.PartitionAlreadyExistsException;
import com.ibm.websphere.workarea.NoSuchPartitionException;
import java.util.Properties; 

public interface WorkAreaPartitionManager {
	
  //Gibt eine Instanz einer Arbeitsbereichspartition für den angegebenen Namen zurück oder
  //löst eine Ausnahme aus, wenn der Partitionsname nicht vorhanden ist.
public UserWorkArea getWorkAreaPartition(String partitionName) throws NoSuchPartitionException;
	
  //Gibt eine neue Instanz einer Arbeitsbereichspartition (eine Implementierung der Schnittstelle UserWorkArea)
  //zurück oder löst eine Ausnahme aus, wenn der Partitionsname bereits vorhanden ist. createWorkAreaPartition sollte
  //nur in einem Client der Java EE-Plattform und NICHT im Server verwendet
  //werden. Verwenden Sie zum Erstellen einer Arbeitsbereichspartition im Server die
  //WebSphere-Administrationskonsole.
public UserWorkArea createWorkAreaPartition(String partitionName, Properties props) throws
PartitionAlreadyExistsException, java.lang.IllegalAccessException;
  }
}

EJB-Anwendungen können die Schnittstelle des Arbeitsbereichspartitionsmanagers nur innerhalb der Implementierung von Methoden in der fernen und/oder lokalen Schnittstelle verwenden. Servlets können die Schnittstelle nur innerhalb der Methode "service" der Klasse "HTTPServlet" verwenden. Die Verwendung von Arbeitsbereichen innerhalb einer Lifecycle-Methode eines Servlets oder einer Enterprise-Bean wird als Abweichung vom Programmiermodell des Arbeitsbereichs betrachtet und nicht unterstützt.

Die Erstellung einer Arbeitsbereichspartition über das Programm mit der Methode "createWorkAreaPartition" ist nur im Java EE-Client möglich. Zum Erstellen einer Arbeitsbereichspartition im Server verwenden Sie die WebSphere-Administrationskonsole gemäß der Beschreibung im Artikel "Arbeitsbereichspartitionen konfigurieren". Alle Partitionen in einem Serverprozess müssen erstellt werden, bevor der Serverstart abgeschlossen ist, damit der Work Area Service für die entsprechenden Container-Collaborator registriert werden kann. Daher löst das Aufrufen der Methode createWorkAreaPartition in einem Serverprozess nach dem Start des Servers die Ausnahme java.lang.IllegalAccessException aus. Die Methode "createWorkAreaPartition" kann in einem Java EE-Anwendungsclient jederzeit aufgerufen werden.

Konfigurierbare Eigenschaften für Arbeitsbereichspartitionen

Dieser Abschnitt bezieht sich auf die Verwendung der Methode "createWorkAreaPartition" in der Schnittstelle "WorkAreaPartitionManager". Diese Methode sollte, wie zuvor beschrieben, nur in einem Java EE-Client verwendet werden. Informationen zum Erstellen einer Partition im Server finden Sie im Abschnitt "Arbeitsbereichspartitionen konfigurieren".

Die Methode "createWorkAreaPartition" in der Schnittstelle "WorkAreaPartitionManager" verwendet java.util.Properties-Objekte. Dieses Properties-Objekt und die darin enthaltenen Eigenschaften werden verwendet, um die Arbeitsbereichspartition zu definieren. Im Folgenden sehen Sie ein Beispiel für das Erstellen eines Properties-Objekts und das Festlegen einer Eigenschaft:

Achtung: Ein ausführlicheres Beispiel zur Verwendung von "WorkAreaPartitionManager" finden Sie im Artikel "Beispiel: Arbeitsbereichspartitionsmanager verwenden".
java.util.Properties props = new java.util.Properties():
props.put("maxSendSize","12345");

Gültige Schlüssel/Wert-Paare (Eigenschaften) für die Definition einer Partition:

  • maxSendSize - Gibt die maximale Größe (Bytes) eines Arbeitsbereichs an, der in einem Fernaufruf gesendet werden kann. Die gültigen Werte sind:
    • "-1" = Verwendet die Standardgröße 32767.
    • "0" = Unbegrenzte Größe. Dieser Wert wird nicht kontrolliert, was je nach Anzahl der Arbeitsbereiche einer Anwendung zur Leistung beitragen kann.
    • "1" = Integer.MAX_VALUE
  • maxReceiveSize - Gibt die maximale Größe (Bytes) eines Arbeitsbereichs an, der empfangen werden kann. Die gültigen Werte sind:
    • "-1" = Verwendet die Standardgröße 32767.
    • "0" = Unbegrenzte Größe. Dieser Wert wird nicht kontrolliert, was je nach Anzahl der Arbeitsbereiche einer Anwendung zur Leistung beitragen kann.
    • "1" = Integer.MAX_VALUE
  • Bidirectional - Gibt an, ob ein Arbeitsbereichskontext, der von einem Downstream-Prozess geändert wird, wieder zurück an den Ersteller des Kontexts weitergegeben werden soll. Eine vollständige Beschreibung dieser Eigenschaft finden Sie im Abschnitt "Bidirektionale Weitergabe von Arbeitsbereichskontexten" im Artikel zum Service für Arbeitsbereichspartitionen. Die gültigen Werte sind:
    • "true" = Kontextänderungen werden von einem Fernaufruf zurückgegeben.
    • "false" = Kontextänderungen werden von einem Fernaufruf nicht zurückgegeben.
    Achtung: Die Standardeinstellung ist "false."
  • DeferredAttributeSerialization - Gibt an, ob die Serialisierung von Attributen optimiert werden soll, sodass sie pro Prozess genau einmal stattfindet. Eine vollständige Beschreibung dieser Eigenschaft finden Sie im Abschnitt "Verzögerte Attributserialisierung von Arbeitsbereichskontexten" im Artikel zum Service für Arbeitsbereichspartitionen. Die gültigen Werte sind:
    • "true"
      • Wenn im Arbeitsbereich ein Attribut definiert wird, wird es erst dann serialisiert, wenn eine Anforderung an ein fernes System abgesetzt wird.
      • Bleibt der Wert in der Antwort unverändert, wird die serialisierte Form für nachfolgende Anforderungen verwendet. Das Live-Objekt wird über Getter abgerufen.
      • Wenn während einer Anforderung an ein fernes System Anforderungen abgesetzt werden, wird ein Wert bei Bedarf genau einmal entserialisiert. Für nachfolgende Anforderungen dieses fernen Prozesses in diesem verteilten Thread wird die serialisierte Form verwendet. Nachfolgende Anforderungen im Prozess für dasselbe Attribut geben den bereits entserialisierten Wert zurück. Bei der Verwendung von DeferredAttributeSerialization können Probleme mit der Parallelität auftreten. Nach der Serialisierung in einem Clientprozess werden Attributaktualisierungen in der Kopie des Arbeitsbereichs erst dann nachvollzogen, wenn der Wert mit der Schnittstelle "UserWorkArea" explizit zurückgesetzt wird. An einer abgerufenen Referenz in einem Downstream-Prozess vorgenommene Änderungen werden nur dann an nachfolgende Downstream-Anforderungen weitergegeben (bzw. in der Antwort als geänderter Wert zurückgegeben), wenn er mit der Schnittstelle "UserWorkArea" explizit zurückgesetzt wird.
    • "false"
      • Wenn im Arbeitsbereich ein Attribut definiert wird, wird es sofort serialisiert, und die Bytes werden gespeichert.
      • Wenn ein Attribut aus dem Arbeitsbereich abgerufen wird, wird es immer aus den gespeicherten Bytes entserialisiert.
    Achtung: Der Standardwert ist "false."
  • EnableWebServicePropagation - Gibt an, ob der Arbeitsbereichskontext in einem Web-Service-Aufruf weitergegeben werden muss. Die gültigen Werte sind:
    • "true" = Der Kontext wird im Web-Service-Aufruf weitergegeben.
    • "false" = Der Kontext wird nicht im Web-Service-Aufruf weitergegeben.
    Achtung: Der Standardwert ist "false."

Ausnahmen

Der Service für Arbeitsbereichspartitionen definiert die folgenden Ausnahmen zur Verwendung mit der Schnittstelle des Arbeitsbereichspartitionsmanagers:
PartitionAlreadyExistsException
Diese Ausnahme wird von der Methode "createWorkAreaPartition" in der WorkAreaPartitionManager-Implementierung ausgelöst, wenn ein Benutzer versucht, eine Arbeitsbereichspartition mit einem bereits vorhandenen Partitionsnamen zu erstellen. Partitionsnamen müssen eindeutig sein.
NoSuchPartitionException
Diese Ausnahme wird von der Methode "getWorkAreaPartition" in der WorkAreaPartitionManager-Implementierung ausgelöst, wenn ein Benutzer eine Arbeitsbereichspartition mit einem nicht vorhandenen Partitionsnamen anfordert.
java.lang.IllegalAccessException
Diese Ausnahme wird von der Methode "createWorkAreaPartition" in der WorkAreaPartitionManager-Implementierung ausgelöst, wenn ein Benutzer versucht, während der Laufzeit eine Arbeitsbereichspartition für einen Serverprozess zu erstellen. Diese Methode kann nur in einem Java EE-Clientprozess verwendet werden. Im Serverprozess muss eine Partition mit der Administrationskonsole erstellt werden.

Weitere Informationen zu Arbeitsbereichen finden Sie in der Beschreibung des Pakets "com.ibm.websphere.workarea" in der Anwendungsprogrammierschnittstelle (API, Application Programming Interface). Sie finden die generierte API-Dokumentation im Inhaltsverzeichnis des Information Center unter Referenz > APIs - Application Programming Interfaces.


Symbol, das den Typ des Artikels anzeigt. Referenzartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwa_partition
Dateiname:rwa_partition.html