Auf dieser Seite können Sie den Java-ORB-Service (Object Request Broker) konfigurieren.
Klicken Sie zum Anzeigen dieser Seite der Administrationskonsole auf Server > Servertypen > WebSphere-Anwendungsserver > Servername > Containerservices > ORB-Service.
Für die Steuerung der internen ORB-Verarbeitung sind mehrere Einstellungen verfügbar. Sie können diese Einstellungen verwenden, um die Leistung von Anwendungen zu verbessern, die Enterprise-Beans enthalten. Sie können diese Einstellungen für den Standardserver und jeden anderen Anwendungsserver ändern, der in der Administrationskonsole konfiguriert ist.
Die Wartezeit in Sekunden, nach der eine Zeitlimitüberschreitung für eine Anforderungsnachricht eintritt.
Wenn Sie Befehlszeilen-Scripting verwenden, müssen Sie den vollständigen Namen dieser Systemeigenschaft, "com.ibm.CORBA.RequestTimeout", verwenden.
Datentyp | int |
Einheiten | Sekunden |
Standardeinstellung | 180 |
Einstellmöglichkeiten | 0 - größte von Java erkannte ganze Zahl mit erweiterter Genauigkeit |
Gibt an, wie oft der ORB beim Ausfall eines Servers versucht, eine Anforderung zu senden. Durch die Sendewiederholung können temporäre Netzfehler manchmal behoben werden. Dieses Feld wird für z/OS ignoriert.
Wenn Sie Befehlszeilen-Scripting verwenden, müssen Sie den vollständigen Namen dieser Systemeigenschaft verwenden: com.ibm.CORBA.requestRetriesCount.
Datentyp | int |
Standardeinstellung | 1 |
Einstellmöglichkeiten | 1 bis 10 |
Gibt den Zeitraum (in Millisekunden) zwischen den Anforderungswiederholungen an.Dieses Feld wird für z/OS ignoriert.
Wenn Sie Befehlszeilen-Scripting verwenden, müssen Sie den vollständigen Namen dieser Systemeigenschaft, "com.ibm.CORBA.requestRetriesDelay", verwenden.
Datentyp | int |
Einheiten | Millisekunden |
Standardeinstellung | 0 |
Einstellmöglichkeiten | 0 bis 60.000 |
Gibt die maximale Anzahl der Einträge an, die in den ORB-Verbindungscache aufgenommen werden können, bevor der ORB damit beginnt, inaktive Verbindungen aus dem Cache zu entfernen. Dieses Feld wird für z/OS ignoriert.
Es ist möglich, dass die Anzahl aktiver Verbindungen im Cache diesen Schwellenwert vorübergehend überschreitet. Sofern erforderlich, fügt der ORB so lange weitere Verbindungen hinzu, wie Ressourcen verfügbar sind.
Für die Verwendung im Befehlszeilen-Scripting müssen Sie den vollständigen Namen dieser Systemeigenschaft, "com.ibm.CORBA.MaxOpenConnections", verwenden.
Datentyp | Integer |
Einheiten | Verbindungen |
Standardeinstellung | 240 |
Einstellmöglichkeiten | 10 - größte von Java erkannte ganze Zahl mit erweiterter Genauigkeit |
Gibt die Mindestanzahl der Einträge für den ORB-Verbindungscache an. Dieses Feld wird für z/OS ignoriert.
Der ORB entfernt keine inaktiven Verbindungen, solange die Anzahl der Einträge unter diesem Wert liegt.
Wenn Sie ein Script in der Befehlszeile verwenden möchten, müssen Sie den vollständigen Namen dieser Systemeigenschaft, "com.ibm.CORBA.MinOpenConnections", eingeben.
Datentyp | Integer |
Einheiten | Verbindungen |
Standardeinstellung | 100 |
Einstellmöglichkeiten | Jede ganze Zahl, die um mindestens 5 kleiner ist als der Wert, der für die maximale Anzahl der Verbindungen im Cache definiert ist. |
Trace für ORB-GIOP-Nachrichten (General Inter-ORB Protocol) aktivieren.
Diese Einstellung beeinflusst zwei Systemeigenschaften: com.ibm.CORBA.Debug und com.ibm.CORBA.CommTrace. Wenn Sie diese Eigenschaften mit einem Script über die Befehlszeile definieren, müssen Sie beide Eigenschaften auf true setzen, um das Tracing von GIOP-Nachrichten zu aktivieren.
Datentyp | Boolean |
Standardeinstellung | Nicht aktiviert (false) |
Die Wartezeit in Sekunden, nach der eine Nachricht hinsichtlich der Zeitlimitüberschreitung für das Lokalisieren einer Anforderung (LocateRequest) ausgegeben wird. Dieses Feld wird für z/OS ignoriert.
Wenn Sie Befehlszeilen-Scripting verwenden, müssen Sie den vollständigen Namen dieser Systemeigenschaft, "com.ibm.CORBA.LocateRequestTimeout", verwenden.
Datentyp | int |
Einheiten | Sekunden |
Standardeinstellung | 180 |
Einstellmöglichkeiten | 0 bis 300 |
Steuert, wie der Client-ORB die HTTP-Tunnelung verwendet. Dieses Feld wird für z/OS ignoriert.
Wenn Sie Befehlszeilen-Scripting verwenden, müssen Sie den vollständigen Namen dieser Systemeigenschaft, "com.ibm.CORBA.ForceTunnel", verwenden.
Datentyp | String |
Standardeinstellung | Nie |
Einstellmöglichkeiten | Die gültigen Werte sind Immer, Nie und Bei Bedarf. |
Gibt die Webadresse des für HTTP-Tunnelung zu verwendenden Servlet an. Dieses Feld wird auf der Plattform z/OS ignoriert.
Diese Webadresse muss das richtige Format haben:
http://w3.mycorp.com:81/servlet/com.ibm.CORBA.services.IIOPTunnelServlet
Für Applets: http://applethost:port/servlet/com.ibm.CORBA.services.IIOPTunnelServlet.
Dieses Feld muss ausgefüllt werden, wenn HTTP-Tunnelung ausgewählt ist. Wenn Sie Befehlszeilen-Scripting verwenden, müssen Sie den vollständigen Namen dieser Systemeigenschaft, "com.ibm.CORBA.TunnelAgentURL", verwenden.
Gibt an, wie der ORB die Parameter übergibt. Wenn dieser Parameter definiert ist, übergibt der ORB Parameter durch eine Referenz (Passed-by-Reference) und nicht mit einem Wert. Hierbei wird keine Kopie eines Objekts erstellt. Falls Sie diesen Parameter nicht definieren, wird anstelle des Parameterobjekts selbst eine Kopie des Parameters übergeben. Dies kann kostenintensiv werden, weil der ORB von jedem Parameterobjekt zuerst eine Kopie erstellen muss.
Sie können diese Option nur verwenden, wenn der EJB-Client und die EJB in demselben Klassenlader enthalten sind. Der EJB-Client und die EJB müssen also in derselben EAR-Datei implementiert sein.
Wenn EJB-Client und EJB-Server in derselben Instanz des Produkts installiert sind und beide ferne Schnittstellen verwenden, kann durch die Auswahl der Option "Durch Referenz übergeben" (Pass-by-Reference) eine Durchsatzsteigerung von bis zu 50 % erzielt werden. Mit dieser Einstellung kann nur dann eine Leistungssteigerung erzielt werden, wenn nicht primitive Objekttypen als Parameter übergeben werden. Demzufolge werden int und floats unabhängig vom Aufrufmodell immer kopiert.
Wenn Sie Befehlszeilen-Scripting verwenden, müssen Sie den vollständigen Namen dieser Systemeigenschaft, "com.ibm.CORBA.iiop.noLocalCopies", verwenden.
Datentyp | Boolean |
Standardeinstellung | Nicht aktiviert (false) |
Die Verwendung dieser Option für Enterprise-Beans mit Remote-Interfaces verstößt gegen die EJB-Spezifikation Version 2.0 (siehe Abschnitt 5.4). An EJB-Methoden oder EJB-Home-Methoden übergebene Objektreferenzen werden nicht kopiert und können deshalb beschädigt werden.
Iterator iterator = collection.iterator(); MyPrimaryKey pk = new MyPrimaryKey(); while (iterator.hasNext()) { pk.id = (String) iterator.next(); MyEJB myEJB = myEJBHome.findByPrimaryKey(pk); }
Im vorherigen Beispiel wird zwei Mal eine Referenz auf dasselbe MyPrimaryKey-Objekt an das Produkt übergeben, jedes Mal mit einer anderen ID. Wenn Sie diesen Code ausführen und die Einstellung "Durch Referenz übergeben" aktiviert ist, löst dies einen Fehler des Anwendungsservers aus, weil mehrere Enterprise-Beans auf dasselbe MyPrimaryKey-Objekt verweisen. Sie können diesen Fehler vermeiden, indem Sie die Systemeigenschaft "com.ibm.websphere.ejbcontainer.allowPrimaryKeyMutation" auf true setzen, wenn die Option "Durch Referenz übergeben" aktiviert ist. In diesem Fall erstellt der EJB-Container nämlich eine lokale Kopie des Objekts PrimaryKey. Durch das Setzen der Eigenschaft "Übergeben durch Referenz" sind jedoch geringfügige Leistungseinbußen zu verzeichnen.
Es gilt die folgende allgemeine Regel: Jeder Anwendungscode, der eine Objektreferenz als Parameter an eine Methode einer Enterprise-Bean oder an eine Home-Methode einer EJB übergibt, muss unbedingt daraufhin untersucht werden, ob die Objektreferenz zu einem Verlust der Datenintegrität oder zu anderen Fehlern führen könnte.
Nach der Überprüfung Ihres Codes können Sie die Option "Durch Referenz übergeben" aktivieren, indem Sie die Systemeigenschaft "com.ibm.CORBA.iiop.noLocalCopies" auf true setzen. Sie können die Option "Durch Referenz übergeben" auch in der Administrationskonsole übergeben. Klicken Sie auf Server > Servertypen > Anwendungsserver > Servername > Containerservices > ORB-Service , und wählen Sie Durch Referenz übergeben aus.
Mit (online) gekennzeichnete Links setzen einen Internet-Zugang voraus.