Valores del servicio ORB (Object Request Broker) en la consola administrativa

Utilice esta página para configurar el servicio ORB (Intermediario de petición de objetos) de Java.

Para ver esta página de la consola administrativa, pulse Servidores > Servidores de aplicaciones > nombreServidor > Servicio ORB.

Existen varios valores para controlar el proceso del Gestor de peticiones de objetos (Object Request Broker - ORB) interno. Puede utilizar estos valores para mejorar el rendimiento de la aplicación en caso de que existan aplicaciones que contengan enterprise beans. Se pueden cambiar estos valores para el servidor por omisión o cualquier servidor de aplicaciones configurado en el dominio administrativo.

Pestaña Configuración

Tiempo de espera de petición  
Especifica el número de segundos de espera antes de que termine el tiempo de espera del mensaje de la petición.

Se utiliza en scripts de línea de mandatos y el nombre completo de esta propiedad del sistema es com.ibm.CORBA.RequestTimeout.

Tipo de datos int
Unidades Segundos
Valor por omisión 180
Rango 0 a 300
Número de reintentos de petición  
Especifica el número de veces que el ORB intenta enviar una petición si se produce un error en el servidor. Los reintentos a veces permiten solucionar los errores en la red transitorios.

Se utiliza en scripts de línea de mandatos y el nombre completo de esta propiedad del sistema es com.ibm.CORBA.requestRetriesCount.

Tipo de datos int
Valor por omisión 1
Rango 1 a 10
Retardo de reintentos de petición  
Especifica el número de milisegundos entre reintentos de petición.

Se utiliza en scripts de línea de mandatos y el nombre completo de esta propiedad del sistema es com.ibm.CORBA.requestRetriesDelay.

Tipo de datos int
Unidades Milisegundos
Valor por omisión 0
Rango 0 a 60
Antememoria máxima de conexión  
Especifica el número máximo de conexiones que puede ocupar la antememoria de conexión del servicio. Si hay varios clientes conectando simultáneamente al ORB del servidor, este parámetro se puede aumentar para dar soporte a altas cargas de hasta 1000 clientes.

Se utiliza en scripts de línea de mandatos y el nombre completo de esta propiedad del sistema es com.ibm.CORBA.MaxOpenConnections.

Tipo de datos Integer
Unidades Conexiones
Valor por omisión 240
Antememoria mínima de conexión  
Especifica el número mínimo de conexiones que puede ocupar la antememoria de conexión del servicio.
Tipo de datos Integer
Unidades Conexiones
Valor por omisión 100
Rastreo de ORB  
Habilita el rastreo de mensajes ORB GIOP.

Este valor afecta a dos propiedades del sistema: com.ibm.CORBA.Debug y com.ibm.CORBA.CommTrace. Si establece estas propiedades mediante el script de línea de mandatos, debe establecerlas como true para habilitar el rastreo de mensajes GIOP.

Tipo de datos Boolean
Valor por omisión No habilitado (false)
Localizar tiempo excedido de petición  
Especifica el número de segundos de espera antes de que termine el tiempo de espera del mensaje LocateRequest.

Se utiliza en scripts de línea de mandatos y el nombre completo de esta propiedad del sistema es com.ibm.CORBA.LocateRequestTimeout.

Tipo de datos int
Unidades Segundos
Valor por omisión 180
Rango 0 a 300
Aplicar túnel  
Controla cómo intenta utilizar el ORB de cliente la transmisión a través de túnel HTTP.

Para acceder directamente, el nombre completo de esta propiedad es com.ibm.CORBA.ForceTunnel.

Tipo de datos String
Valor por omisión NUNCA
Rango Los valores válidos son SIEMPRE, NUNCA o CUANDO SEA NECESARIO.

A continuación encontrará información adicional sobre los valores válidos:

SIEMPRE
Utilice inmediatamente la transmisión a través de túnel HTTP, sin intentar primero conexiones TCP.
NUNCA
Inhabilite la transmisión a través de túnel HTTP. Si falla una conexión TCP, se generará un excepción del sistema CORBA (COMM_FAILURE).
CUANDO SEA NECESARIO
Utilice la transmisión a través de túnel HTTP si falla la conexión TCP.

URL de agente túnel  
Especifica el URL del servlet utilizado para dar soporte a la transmisión a través de túnel HTTP.

Debe ser un URL correctamente configurado, por ejemplo http://w3.mycorp.com:81/servlet/com.ibm.CORBA.services.IIOPTunnelServlet o, para applets, http://applethost:port/servlet/com.ibm.CORBA.services.IIOPTunnelServlet. Este campo es necesario si se ha establecido Transmisión a través de túnel HTTP.

Se utiliza en scripts de línea de mandatos y el nombre completo de esta propiedad del sistema es com.ibm.CORBA.TunnelAgentURL.

Pasar por referencia  
Especifica cómo el ORB pasa los parámetros. Si está habilitado, el ORB pasa los parámetros por referencia y no por valor, con lo cual se evita tener que efectuar una copia del objeto. Si no habilita el paso de parámetros por referencia, se copiarán los parámetros en la pila antes de realizar la llamada al método remoto, lo cual puede resultar caro.

Si el cliente EJB y el servidor EJB están instalados en la misma instancia de WebSphere Application Server y, tanto el cliente como el servidor utilizan interfaces remotas, la habilitación del paso por referencia puede mejorar el rendimiento hasta en un 50%. El paso por referencia sólo mejora el rendimiento en caso de que se pasen como parámetros tipos de objetos no primitivos. Por lo tanto, los tipos int y float se copian siempre, independientemente del modelo de invocación.

Habilite con precaución esta propiedad porque podrían producirse comportamientos inesperados. Si un método remoto modifica una referencia de objeto, el cambio podría afectar al que efectúa la llamada.

Se utiliza en scripts de línea de mandatos y el nombre completo de esta propiedad del sistema es com.ibm.CORBA.iiop.noLocalCopies.

Tipo de datos Boolean
Valor por omisión No habilitado (false)

El uso de esta opción para enterprise beans con interfaces remotas viola la especificación EJB, versión 2.0 (consulte el apartado 5.4). Las referencias de objetos que se pasan a los métodos EJB o a los métodos de factoría EJB no se copian, por lo que pueden dañarse.

Consideremos el ejemplo siguiente:

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

En este ejemplo, se pasa a WebSphere Application Server una referencia al mismo objeto MyPrimaryKey, cada vez con un valor de ID diferente. La ejecución de este código con el Paso por referencia habilitado ocasiona un problema en el servidor de aplicaciones, ya que habrán varios enterprise beans haciendo referencia al mismo objeto MyPrimaryKey. Para evitar este problema, establezca la propiedad de sistema com.ibm.websphere.ejbcontainer.allowPrimaryKeyMutation como true cuando esté habilitado el Paso por referencia. Si se establece el Paso por referencia en true el contenedor EJB efectuará una copia local del objeto PrimaryKey. No obstante, esto hace que se pierdan ligeramente las ventajas de rendimiento que supone establecer el Paso por referencia.

Como regla general, un código de aplicación que pase una referencia de objeto como parámetro a un método de enterprise bean o un método de factoría EJB se debe examinar para determinar si el paso de esa referencia de objeto puede provocar alguna pérdida de integridad de los datos u otros problemas.

Información relacionada

Botones de la consola de administración
Valores de agrupación de hebras