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
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 |
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 |
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 |
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 |
| Tipo de datos | Integer |
| Unidades | Conexiones |
| Valor por omisión | 100 |
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) |
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 |
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:
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.
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.