WebSphere eXtreme Scale enthält Anwendungsprogrammierschnittstellen (APIs) und Systemprogrammierschnittstellen für die Integration von eXtreme-Scale-Servern und -Clients in vorhandenen Java-Anwendungen. Im folgenden Abschnitt werden die verfügbaren integrierten Server-APIs beschrieben.
Sie können verschiedene Eigenschaften verwenden, um die eXtreme-Scale-Serverinstanz zu konfigurieren, die Sie mit der Methode "ServerFactory.getServerProperties" abrufen können. Das ServerProperties-Objekt ist das Singleton, und deshalb ruft jeder Aufruf der Methode "getServerProperties" dieselbe Instanz ab.
Sie können einen neuen Server mit dem folgenden Code erstellen.
Server server = ServerFactory.getInstance();
Alle Eigenschaften, die vor ersten Aufruf von "getInstance" gesetzt werden, werden zum Initialisieren des Servers verwendet.
Sie können die Servereigenschaften festlegen, bis die Methode "ServerFactory.getInstance" zum ersten Mal aufgerufen wird. Der erste Aufruf der Methode "getInstance" instanziiert den eXtreme-Scale-Server und liest alle konfigurierten Eigenschaften. Das Festlegen von Eigenschaften nach der Erstellung der Instanz hat keine Auswirkung. Das folgende Beispiel zeigt, wie Eigenschaften vor der Instanziierung einer Server-Instanz definiert werden.
// Servereigenschaften abrufen, die diesem Prozess zugeordnet sind.
ServerProperties serverProperties = ServerFactory.getServerProperties();
// Servernamen für diesen Prozess festlegen.
serverProperties.setServerName("EmbeddedServerA");
// Namen der Zone festlegen, in der sich dieser Prozess befindet.
serverProperties.setZoneName("EmbeddedZone1");
// Erforderliche Endpunktinformationen zum Booten des Katalogservice festlegen.
serverProperties.setCatalogServiceBootstrap("localhost:2809");
// Hostnamen des ORB-Listeners festlegen, zu dem die Bindung hergestellt werden soll.
serverProperties.setListenerHost("host.local.domain");
// ORB-Listener-Port festlegen, zu dem die Bindung hergestellt werden soll.
serverProperties.setListenerPort(9010);
// Alle MBeans für diesen Prozess inaktivieren.
serverProperties.setMBeansEnabled(false);
Server server = ServerFactory.getInstance();
CatalogServerProperties catalogServerProperties =
ServerFactory.getCatalogProperties();
catalogServerProperties.setCatalogServer(true);
Server server = ServerFactory.getInstance();
Setzen Sie die Methode "Server.createContainer" für jede JVM ab, die mehrere eXtreme-Scale-Container ausführen soll. Der folgende Code veranschaulicht, wie ein eXtreme-Scale-Container instanziiert wird:
Server server = ServerFactory.getInstance();
DeploymentPolicy policy = DeploymentPolicyFactory.createDeploymentPolicy(
new File("META-INF/embeddedDeploymentPolicy.xml").toURI().toURL(),
new File("META-INF/embeddedObjectGrid.xml").toURI().toURL());
Container container = server.createContainer(policy);
Sie können alle Services gemeinsam starten, was für die Entwicklung hilfreich und auch in einer Produktionsumgebung praktisch ist. Wenn die Services gemeinsam gestartet werden, führt ein einziger Prozess alle folgenden Aufgaben aus: Er startet den Katalogservice, er startet eine Gruppe von Containern und er führt die Clientverbindungslogik aus. Mit dieser Art des Servicestarts können Programmierungsprobleme festgestellt werden, bevor die Services in einer verteilten Umgebung implementiert werden. Der folgende Code veranschaulicht, wie ein eigenständiger eXtreme-Scale-Server instanziiert wird:
CatalogServerProperties catalogServerProperties =
ServerFactory.getCatalogProperties();
catalogServerProperties.setCatalogServer(true);
Server server = ServerFactory.getInstance();
DeploymentPolicy policy = DeploymentPolicyFactory.createDeploymentPolicy(
new File("META-INF/embeddedDeploymentPolicy.xml").toURI().toURL(),
new File("META-INF/embeddedObjectGrid.xml").toURI().toURL());
Container container = server.createContainer(policy);
Die Konfiguration für eXtreme Scale wird automatisch vorgenommen, wenn Sie eXtreme Scale in einer Umgebung mit WebSphere Application Server installieren. Sie müssen keine Eigenschaften festlegen, bevor Sie auf den Server zugreifen, um einen Container zu erstellen. Der folgende Code veranschaulicht, wie Sie einen eXtreme-Scale-Server in WebSphere Application Server instanziieren:
Server server = ServerFactory.getInstance();
DeploymentPolicy policy = DeploymentPolicyFactory.createDeploymentPolicy(
new File("META-INF/embeddedDeploymentPolicy.xml").toURI().toURL(),
new File("META-INF/embeddedObjectGrid.xml").toURI().toURL);
Container container = server.createContainer(policy);