Utilice esta página para configurar el servicio ORB (Intermediario de solicitud de objetos) de Java.
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.
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 |
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 |
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 |
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 |
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. |
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) |
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 |
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. |
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.
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.
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.
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.