Auf dieser Seite können Sie den Java-ORB-Service (Object Request Broker) konfigurieren.
Klicken Sie, um diese Seite der Administrationskonsole anzuzeigen, auf Server > Anwendungsserver > Server-Name > ORB-Service.
Für die Steuerung der internen ORB-Verarbeitung sind mehrere Einstellungen verfügbar. Sie können diese Einstellungen verwenden, um die Anwendungsleistung zu verbessern, falls die Anwendungen Enterprise-Beans enthalten. Sie können Änderungen an diesen Einstellungen für den Standardserver und alle Anwendungsserver vornehmen, die in der Administrationsdomäne konfiguriert sind.
Register "Konfiguration"
Wenn Sie ein Script in der Befehlszeile verwenden möchten, müssen Sie den vollständigen Namen dieses Systemmerkmals eingeben: com.ibm.CORBA.RequestTimeout.
| Datentyp | int |
| Einheiten | Sekunden |
| Standardwert | 180 |
| Bereich | 0 bis 300 |
Wenn Sie ein Script in der Befehlszeile verwenden möchten, müssen Sie den vollständigen Namen dieses Systemmerkmals eingeben: com.ibm.CORBA.requestRetriesCount.
| Datentyp | int |
| Standardwert | 1 |
| Bereich | 1 bis 10 |
Wenn Sie ein Script in der Befehlszeile verwenden möchten, müssen Sie den vollständigen Namen dieses Systemmerkmals eingeben: com.ibm.CORBA.requestRetriesDelay.
| Datentyp | int |
| Einheiten | Millisekunden |
| Standardwert | 0 |
| Bereich | 0 bis 60 |
Für die Verwendung im Befehlszeilen-Scripting müssen Sie den vollständigen Namen des Systemmerkmals, com.ibm.CORBA.MaxOpenConnections, verwenden.
| Datentyp | Integer |
| Einheiten | Verbindungen |
| Standardwert | 240 |
| Datentyp | Integer |
| Einheiten | Verbindungen |
| Standardwert | 100 |
Diese Einstellung beeinflusst zwei Systemmerkmale: com.ibm.CORBA.Debug und com.ibm.CORBA.CommTrace. Wenn Sie diese Merkmale mit einem Script über die Befehlszeile definieren, müssen Sie beide Merkmale auf true setzen, um das Tracing von GIOP-Nachrichten zu aktivieren.
| Datentyp | Boolescher Wert |
| Standardwert | Nicht aktiviert (false) |
Wenn Sie ein Script in der Befehlszeile verwenden möchten, müssen Sie den vollständigen Namen dieses Systemmerkmals eingeben: com.ibm.CORBA.LocateRequestTimeout.
| Datentyp | int |
| Einheiten | Sekunden |
| Standardwert | 180 |
| Bereich | 0 bis 300 |
Wenn Sie direkt zugreifen möchten, müssen Sie den vollständigen Namen dieses Merkmals eingeben: com.ibm.CORBA.ForceTunnel.
| Datentyp | String |
| Standardwert | Nie |
| Bereich | Die gültigen Werte sind Immer, Nie und Bei Bedarf. |
Nachfolgend weitere Informationen zu den gültigen Werten:
Sie müssen den URL im richtigen Format eingeben, z. B: http://w3.mycorp.com:81/servlet/com.ibm.CORBA.services.IIOPTunnelServlet oder, für Applets, http://applethost:port/servlet/com.ibm.CORBA.services.IIOPTunnelServlet. In diesem Feld muss ein Wert eingegeben werden, wenn die HTTP-Tunnelung definiert ist.
Wenn Sie ein Script in der Befehlszeile verwenden möchten, müssen Sie den vollständigen Namen dieses Systemmerkmals eingeben: com.ibm.CORBA.TunnelAgentURL.
Wenn EJB-Client und EJB-Server in derselben Instanz von WebSphere Application Server installiert sind und beide ferne Schnittstellen verwenden, kann durch die Angabe von "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.
Verwenden Sie dieses Merkmal mit Bedacht, da unerwartete Ergebnisse eintreten können. Wenn eine Objektreferenz von der fernen Methode geändert wird, wird der aufrufende Prozess möglicherweise geändert.
Für die Verwendung im Befehlszeilen-Scripting müssen Sie den vollständigen Namen dieses Systemmerkmals, com.ibm.CORBA.iiop.noLocalCopies, verwenden.
| Datentyp | Boolescher Wert |
| Standardwert | 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.
Beachten Sie das folgende Beispiel:
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 WebSphere Application Server ü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 das Systemmerkmal com.ibm.websphere.ejbcontainer.allowPrimaryKeyMutation auf true setzen, wenn Durch Referenz übergeben aktiviert ist. In diesem Fall erstellt der EJB-Container nämlich eine lokale Kopie des Objekts PrimaryKey. Durch das Setzen des Merkmals für "Ü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.