Paramètres du service ORB (Object Request Broker) dans la console d'administration

Utilisez cette page pour configurer le service ORB (Object Request Broker) Java.

Pour afficher cette page de la console d'administration, cliquez sur Serveurs > Serveurs d'applications > nomServeur > Service ORB.

Plusieurs paramètres sont disponibles pour contrôler le traitement interne des ORB (Object Request Broker). Vous pouvez les utiliser pour améliorer les performances de vos applications lorsque celles-ci contiennent des beans enterprise. Vous pouvez modifier ces paramètres pour le serveur par défaut ou pour tout autre serveur d'applications configuré dans le domaine d'administration.

Onglet Configuration

Délai d'expiration de la requête  
Indique le nombre de secondes à l'issue desquelles un message de demande arrive à expiration.

Dans un script de ligne de commande, le nom complet de cette propriété système est com.ibm.CORBA.RequestTimeout.

Type de données Entier
Unité Seconde
Valeur par défaut 180
Plage 0 à 300
Nombre de nouvelles tentatives de demande  
Indique le nombre de fois que l'ORB tente d'envoyer une demande en cas d'échec d'un serveur. Les tentatives permettent parfois de restaurer le système en cas d'échec temporaire du réseau.

Dans un script de ligne de commande, le nom complet de cette propriété système est com.ibm.CORBA.requestRetriesCount.

Type de données Entier
Valeur par défaut 1
Plage 1 à 10
Intervalle entre les tentatives de demande  
Indique le nombre de millisecondes séparant deux tentatives.

Dans un script de ligne de commande, le nom complet de cette propriété système est com.ibm.CORBA.requestRetriesDelay.

Type de données Entier
Unité Millisecondes
Valeur par défaut 0
Plage 0 à 60
Taille maximale de la cache des connexions  
Indique le nombre maximal de connexions autorisées dans la mémoire cache de la connexion du service. Si plusieurs clients sont connectés simultanément à l'ORB côté serveur, la valeur de ce paramètre peut être augmentée afin de pouvoir accepter une charge élevée (jusqu'à 1000 clients).

Dans un script de ligne de commande, le nom complet de cette propriété système est com.ibm.CORBA.MaxOpenConnections.

Type de données Entier
Unité Connexions
Valeur par défaut 240
Taille minimale de la cache des connexions  
Indique le nombre minimal de connexions autorisées dans la mémoire cache de la connexion du service.
Type de données Entier
Unité Connexions
Valeur par défaut 100
Trace de l'ORB  
Active le traçage des messages GIOP de l'ORB.

Ce paramètre concerne deux propriétés système : com.ibm.CORBA.Debug et com.ibm.CORBA.CommTrace. Si vous définissez ces propriétés par le biais d'un script de ligne de commande, vous devez affecter la valeur true à ces deux propriétés pour activer le traçage des messages GIOP.

Type de données Booléen
Valeur par défaut Non activé (false)
Délai d'expiration de la requête de recherche  
Indique le nombre de secondes à l'issue desquelles un message de demande de localisation arrive à expiration.

Dans un script de ligne de commande, le nom complet de cette propriété système est com.ibm.CORBA.LocateRequestTimeout.

Type de données Entier
Unité Seconde
Valeur par défaut 180
Plage 0 à 300
Forcer le tunnel  
Contrôle la manière dont l'ORB du client tente d'utiliser les tunnels HTTP.

Pour un accès direct, le nom complet de cette propriété est com.ibm.CORBA.ForceTunnel.

Type de données Chaîne
Valeur par défaut NEVER
Plage Les valeurs valides sont ALWAYS, NEVER et WHENREQUIRED.

Voici des informations complémentaires sur les valeurs correctes :

ALWAYS
Utilise immédiatement la fonction de tunnels HTTP, sans tenter de se connecter en premier via TCP.
NEVER
Désactive les tunnels HTTP. En cas d'échec d'une connexion TCP, une exception système CORBA (COMM_FAILURE) est renvoyée.
WHENREQUIRED
Utilise les tunnels HTTP en cas d'échec des connexions TCP.

URL de l'agent tunnel  
Indique l'URL du servlet permettant de prendre en charge les tunnels HTTP.

Il doit s'agir d'une URL correctement formée. Par exemple : http://w3.mycorp.com:81/servlet/com.ibm.CORBA.services.IIOPTunnelServlet ou, pour les applets : http://applethost:port/servlet/com.ibm.CORBA.services.IIOPTunnelServlet. Cette zone est obligatoire si l'option de tunnels HTTP a été définie.

Dans un script de ligne de commande, le nom complet de cette propriété système est com.ibm.CORBA.TunnelAgentURL.

Transmission par référence  
Spécifie comment l'ORB transmet les paramètres. Si ce paramètre est activé, l'ORB transmet les paramètres par référence et non par valeur, ce qui permet d'éviter la copie d'objet. Si vous n'activez pas la transmission par référence, les paramètres sont copiés dans la pile avant tout appel de méthode éloignée, ce qui peut revenir assez cher.

Si le client d'EJB et le serveur d'EJB sont installés sur la même instance de WebSphere Application Server, et qu'ils utilisent des interfaces éloignées, l'activation de la transmission par référence peut améliorer les performances de 50%. La transmission par référence ne permet d'améliorer les performances que si des types d'objet non primitif sont transmis comme paramètres. Par conséquent, les variables flottantes (float) et les valeurs int sont toujours copiées quel que soit le modèle d'appel.

Activez cette propriété avec attention car elle peut entraîner un comportement inattendu. si un objet est modifié par la méthode éloignée, l'appelant peut changer.

Dans un script de ligne de commande, le nom complet de cette propriété système est com.ibm.CORBA.iiop.noLocalCopies.

Type de données Booléen
Valeur par défaut Non activé (false)

L'utilisation de cette option pour les beans enterprise avec les interfaces éloignées n'est pas conforme à la spécification EJB, Version 2.0 (voir la section 5.4). Les références d'objets transmises aux méthodes EJB ou aux méthodes Home EJB ne sont pas copiées et peuvent être altérées.

Prenons l'exemple suivant :

Iterator iterator = collection.iterator();
MyPrimaryKey pk = new MyPrimaryKey();
while (iterator.hasNext()) {
   pk.id = (String) iterator.next();
   MyEJB myEJB = myEJBHome.findByPrimaryKey(pk);
}

Dans cet exemple, une référence au même objet MyPrimaryKey est transmise à WebSphere Application Server, chaque fois avec une valeur d'ID différente. Lorsque ce code est exécuté avec la transmission par référence activée, un incident se produit dans le serveur d'applications car plusieurs beans enterprise font référence au même objet MyPrimaryKey. Pour éliminer cet incident, attribuez la valeur true à la propriété système com.ibm.websphere.ejbcontainer.allowPrimaryKeyMutation lorsque la transmission par référence est activée. Le conteneur d'EJB effectue alors une copie locale de l'objet PrimaryKey. Cela provoque la perte partielle des performances obtenues en définissant la transmission par référence.

En règle générale, tout code d'application qui transmet une référence d'objet à une méthode de bean enterprise ou une méthode Home EJB sous la forme d'un paramètre doit être examiné afin de déterminer si la transmission de cette référence d'objet provoque un manque d'intégrité des données ou d'autres incidents.

Informations connexes

Boutons de la console administrative
Paramètres du pool d'unités d'exécution