Show TOC

Sharing-Konzepte im VM ContainerLocate this document in the navigation structure

Verwendung

Motivation

Im VM Container enthält jede Benutzersitzung ihre eigene Java-VM und damit ihren eigenen lokalen Java-Heap (vgl. Ressourcenverwaltung im VM Container). Daher müssen Datenstrukturen oft vielfach erzeugt und repliziert werden. (Klassische Java-Applikationsserver, die nur mit einer VM arbeiten, haben dieses Problem nicht.)

Beispiel

Ein typisches Beispiel ist eine große XML-Konfigurationsdatei, die beim Startup der Anwendung geparst werden muss.

Aus diesem Grund ist es wünschenswert, die Datenstrukturen, die von vielen Benutzersitzungen benötigt werden, nur einmal zu erzeugen und dann gemeinsam zu benutzen.

Anwendungsbereich

Dieses Vorgehen verbindet die Robustheit und Isolation der Benutzersitzungen des VM Containers mit der optimaler Ressourcennutzung und Performance. Allerdings unterscheidet sich das Programmiermodell von den üblichen Java-Techniken (Serialisierung), sodass die Verwendung nur für die VMC-Middleware vorgesehen ist.

Realisierung

Im VM Container gibt es folgende Mechanismen, um VM-übergreifendes Sharing zu ermöglichen.

  • Es gibt Shared Classloader, die Java-Klassen ins Shared Memory laden.

  • Shared Closures sind Instanzen von Shared Classes. Diese Java-Objekte liegen im Shared Memory und können von allen VMs der Instanz verwendet werden. Es gibt mappable und copy-only Shared Closures.

  • Shared Locks dienen zur Synchronistation von VMs auf Instanzebene. Der Zugriff auf gemeinsame Objekte kann so geregelt werden.

Administration

In der VMC Systemadministration (Transaktion SM53) können Sie die aktiven Objekte anzeigen und verwalten.