Valores de servicio de ORB (Object Request Broker)

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

Para ver esta página de la consola administrativa:

Existen varios valores para controlar el proceso del Gestor de solicitudes 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.

Tiempo de espera de solicitud

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

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

Tipo de datos int
Unidades Segundos
Valor predeterminado 180
Rango 0 - entero más grande reconocido por Java
Número de reintentos de solicitud [AIX Solaris HP-UX Linux Windows] [iSeries]

Especifica el número de veces que el ORB intenta enviar una solicitud si se produce un error en el servidor. Los reintentos a veces permiten solucionar los errores en la red transitorios. Este campo se ignora en z/OS.

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

Tipo de datos int
Valor predeterminado 1
Rango 1 a 10
Retardo de reintentos de solicitud [AIX Solaris HP-UX Linux Windows] [iSeries]

Especifica el número de milisegundos entre reintentos de solicitud. Este campo se ignora en z/OS.

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

Tipo de datos int
Unidades Milisegundos
Valor predeterminado 0
Rango 0 a 60.000
Memoria caché máxima de conexión [AIX Solaris HP-UX Linux Windows] [iSeries]

Especifica el número máximo de entradas que puede ocupar la memoria caché de conexión de ORB antes de que el ORB comience a eliminar conexiones inactivas de la memoria caché. Este campo se ignora en z/OS.

Es posible que el número de conexiones activas de la memoria caché exceda temporalmente este valor de umbral. Si es necesario, el ORB continuará añadiendo conexiones mientras haya recursos disponibles.

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 Entero
Unidades Conexiones
Valor predeterminado 240
Rango 10 - entero más grande reconocido por Java
Memoria caché mínima de conexión [AIX Solaris HP-UX Linux Windows] [iSeries]

Especifica el número mínimo de estradas de la memoria caché de conexión de ORB. Este campo se ignora en z/OS.

El ORB no eliminará las conexiones inactivas cuando el número de entradas sea inferior a este valor.

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

Tipo de datos Entero
Unidades Conexiones
Valor predeterminado 100
Rango Cualquier entero que sea como mínimo 5 unidades menor que el valor especificado para la propiedad de memoria caché máxima de conexión.
Rastreo de ORB

Habilita el rastreo de los mensajes GIOP (Protocolo general Inter-ORB).

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 Booleano
Valor predeterminado No habilitado (false)
Localizar tiempo excedido de solicitud [AIX Solaris HP-UX Linux Windows] [iSeries]

Especifica el número de segundos de espera antes de que termine el tiempo de espera del mensaje LocateRequest. Este campo se ignora en z/OS.

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

Tipo de datos int
Unidades Segundos
Valor predeterminado 180
Rango 0 a 300
Aplicar túnel [AIX Solaris HP-UX Linux Windows] [iSeries]

Controla cómo intenta utilizar el ORB de cliente la transmisión a través de túnel HTTP. Este campo se ignora en z/OS.

Si utiliza scripts de línea de mandatos, el nombre completo de esta propiedad del sistema es com.ibm.CORBA.ForceTunnel.

Tipo de datos Serie
Valor predeterminado NUNCA
Rango Los valores válidos son SIEMPRE, NUNCA o CUANDO SEA NECESARIO.
Tenga en cuenta la siguiente información cuando elija el valor válido:
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 produce 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 [AIX Solaris HP-UX Linux Windows] [iSeries]

Especifica la dirección Web del servlet a utilizar para dar soporte a la transmisión a través de túnel HTTP. Este campo se ignora en la plataforma z/OS.

Esta dirección Web debe estar en un formato correcto:

http://w3.mycorp.com:81/servlet/com.ibm.CORBA.services.IIOPTunnelServlet

Para los applets: http://applethost:port/servlet/com.ibm.CORBA.services.IIOPTunnelServlet.

Este campo es necesario si se ha establecido la transmisión a través de túnel HTTP. Si utiliza scripts de línea de mandatos, 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 la opción de pasar por referencia, se pasa una copia del parámetro, en lugar del propio objeto de parámetro. Esto puede resultar costoso porque ORB debe realizar primero una copia de cada objeto de parámetro.

Puede utilizar esta opción sólo cuando el cliente EJB (Enterprise JavaBeans) y el EJB están en el mismo classloader. Este requisito significa que el cliente EJB y el EJB se deben desplegar en el mismo archivo EAR.

Si el servidor y el cliente EJB (Enterprise JavaBeans) están instalados en la misma instancia o el mismo producto, y tanto el cliente como el servidor utilizan interfaces remotas, si se habilita la opción de paso por referencia se puede mejorar el rendimiento hasta un 50%. La opción de 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.

Evite problemas: Habilite con precaución esta propiedad porque podrían producirse comportamientos inesperados. Si el elemento llamado modifica una referencia de objeto, el objeto del llamante se modifica también, ya que son el mismo objeto.gotcha

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

Tipo de datos Booleano
Valor predeterminado No habilitado (false)

El uso de esta opción para enterprise beans con interfaces remotas viola la especificación EJB (Enterprise JavaBeans), Versión 2.0 (consulte el apartado 5.4). Las referencias de objetos pasadas a los métodos EJB (Enterprise JavaBeans) o a los métodos de factoría EJB no se copian y 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 al producto una referencia al mismo objeto MyPrimaryKey, cada vez con un valor de ID diferente. La ejecución de este código con la opción de paso por referencia habilitada 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é habilitada la opción de paso por referencia. Si se establece la opción de paso por referencia en true el contenedor de EJB efectuará una copia local del objeto PrimaryKey. No obstante, esto hace que se pierdan ligeramente las ventajas de rendimiento que supone establecer la opción de 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.

Después de examinar el código, puede habilitar la opción de paso por referencia estableciendo la propiedad de sistema com.ibm.CORBA.iiop.noLocalCopies entrue. También puede pasar la opción de paso por referencia en la consola administrativa. Pulse Servidores > Tipos de servidor > Servidores de aplicaciones > nombre_servidor > Servicios de contenedor > Servicio ORB y seleccione Pasar por referencia.




Los enlaces marcados (en línea) requieren acceso a Internet.

Tareas relacionadas
Referencia relacionada
[AIX Solaris HP-UX Linux Windows] [iSeries] Valores de agrupación de hebras
[AIX Solaris HP-UX Linux Windows] [iSeries]
[AIX Solaris HP-UX Linux Windows] [iSeries]


Nombre de archivo: uorb_rsetg.html