Interfaz del gestor de particiones del área de trabajo

Las aplicaciones interactúan con el servicio de partición de área de trabajo mediante la interfaz del gestor de particiones de área de trabajo. Un usuario puede recuperar de la denominación una instancia de la interfaz del gestor de particiones de área de trabajo y utilizar los métodos que se definen a continuación.

Se vincula una implementación de la interfaz del gestor de particiones de área de trabajo en denominación Java™ en java:comp/websphere/WorkAreaPartitionManager. Esta interfaz es responsable de la creación, recuperación y manipulación de particiones de área de trabajo.

package com.ibm.websphere.workarea;

import com.ibm.websphere.workarea.UserWorkArea;
import com.ibm.websphere.workarea.PartitionAlreadyExistsException;
import com.ibm.websphere.workarea.NoSuchPartitionException;
import java.util.Properties;

public interface WorkAreaPartitionManager {
	
  //Devuelve una instancia de una partición de área de trabajo para el nombre proporcionado o genera una excepción si 
  //no existe el nombre de la partición.   public UserWorkArea getWorkAreaPartition(String partitionName) genera NoSuchPartitionException;
	
  //Devuelve una instancia nueva de una partición de área de trabajo (una implementación de la interfaz UserWorkArea) 
  //o genera una excepción si el nombre de partición ya existe.  CreateWorkAreaPartition sólo se deberá 
  //utilizar dentro de un cliente de la plataforma Java EE y no en el
  //servidor.  Para crear una partición de área de trabajo en el servidor, utilice la
  //
  public UserWorkArea createWorkAreaPartition(String partitionName, Properties props) genera
     PartitionAlreadyExistsException, java.lang.IllegalAccessException;
  }
}

Las aplicaciones EJB sólo pueden utilizar la interfaz del gestor de particiones de área de trabajo en la implementación de métodos en la interfaz remota y/o local; de la misma forma, los servlets sólo pueden utilizar la interfaz en el método de servicio de la clase HTTPServlet. El uso de áreas de trabajo dentro de cualquier método de ciclo de vida de un servlet o enterprise bean se considera una desviación del modelo de programación del área de trabajo y no tiene soporte.

La creación programada de una partición de área de trabajo mediante el método createWorkAreaPartition sólo está disponible en el cliente Java EE. Para crear una partición de área de trabajo en el servidor, utilice la consola administrativa de WebSphere tal como se describe en el artículo Configuración de las particiones de área de trabajo. Deben crearse todas las particiones de un proceso de servidor antes de que el arranque del servidor haya finalizado a fin de permitir que el servicio de área de trabajo se registre con los colaboradores de contenedor adecuados. Por lo tanto, si se llama al método createWorkAreaPartition en un proceso de servidor después de que se inicie el servidor, se genera una excepción java.lang.IllegalAccessException. Se puede llamar al método createWorkAreaPartition en un cliente de aplicaciones Java EE en cualquier momento.

Propiedades de partición de área de trabajo configurables

Este apartado se aplica a la utilización del método createWorkAreaPartition en la interfaz WorkAreaPartitionManager. Como se ha descrito anteriormente, este método sólo se debe utilizar en un cliente de Java EE. Para crear una partición en el servidor, consulte Configuración de particiones de área de trabajo.

El método "createWorkAreaPartition" de la interfaz WorkAreaPartitionManager toma un objeto java.util.Properties. Este objeto Properties y las propiedades que éste contiene se utilizan para definir la partición de área de trabajo. El ejemplo siguiente muestra cómo crear un objeto Properties y establecer una propiedad:

Atención: Encontrará un ejemplo más detallado de la utilización de WorkAreaPartitionManager en Ejemplo: Utilización del gestor de particiones del área de trabajo.
java.util.Properties props = new java.util.Properties():
props.put("maxSendSize","12345");

Los pares de clave/valor aceptables (propiedades) para definir una partición son los siguientes:

  • maxSendSize - Indica el tamaño máximo (bytes) de un área de trabajo que se puede enviar en una llamada remota. Los valores aceptables son:
    • "-1" = Utiliza el tamaño por omisión de 32767.
    • "0" = Tamaño ilimitado, este valor no se vigilará, lo cual puede ayudar un poco al rendimiento, en función del número de áreas de trabajo que tenga una aplicación.
    • "1" = Integer.MAX_VALUE
  • maxReceiveSize - Indica el tamaño máximo (bytes) de un área de trabajo que se puede recibir. Los valores aceptables son:
    • "-1" = Utiliza el tamaño por omisión de 32767.
    • "0" = Tamaño ilimitado, este valor no se vigilará, lo cual puede ayudar un poco al rendimiento, en función del número de áreas de trabajo que tenga una aplicación.
    • "1" = Integer.MAX_VALUE
  • Bidireccional - Indica si el contexto de área de trabajo cambiado por un proceso en sentido descendente se debe propagar otra vez en sentido ascendente al originador de dicho contexto. Para obtener una descripción más completa de esta propiedad, consulte "Propagación bidireccional de contexto de área de trabajo" en el artículo Servicio de partición de área de trabajo. Los valores aceptables son:
    • "true" = Se devolverán cambios de contexto de una llamada remota.
    • "false" = No se devolverán cambios de contexto de una llamada remota.
    Atención: El valor predeterminado es "false."
  • DeferredAttributeSerialization - Indica si la serialización del atributo se debe optimizar para que se produzca exactamente una vez por proceso. Para obtener una descripción más completa de esta propiedad, consulte la sección "Serialización de atributos diferida de contexto de área de trabajo" en el artículo Servicio de partición de área de trabajo. Los valores aceptables son:
    • "true"
      • Cuando se establece un atributo en el área de trabajo, éste no se serializará hasta que se realice una solicitud remota.
      • Si como respuesta el valor no cambia, se utilizará el formato serializado para las peticiones subsiguientes; el objeto activo se recuperará mediante métodos get.
      • Cuando se realizan solicitudes durante una solicitud remota, un valor se deserializa a solicitud una sola vez. Se utiliza el formato serializado para las peticiones subsiguientes de este proceso remoto en esta hebra distribuida; las peticiones subsiguientes del proceso para el mismo atributo devuelven el valor ya deserializado. Existen riesgos con la simultaneidad de DeferredAttributeSerialization. Después de la serialización en un proceso cliente, las actualizaciones en el atributo ya no se reflejan en la copia del área de trabajo hasta que el valor se restablezca explícitamente mediante la interfaz UserWorkArea. Los cambios efectuados en una referencia recuperada en un proceso en sentido descendente no se propagan a las peticiones en sentido descendente subsiguientes (o devueltas en la respuesta como un valor cambiado) a menos que se restablezcan explícitamente mediante la interfaz UserWorkArea.
    • "false"
      • Cuando se establece un atributo en el área de trabajo, éste se serializa inmediatamente y los bytes se almacenan.
      • Cuando se recupera un atributo del área de trabajo, éste se deserializa siempre desde los bytes almacenados.
    Atención: El valor por omisión es "false".
  • EnableWebServicePropagation - Indica si el contexto de área de trabajo debe propagarse en una llamada WebService. Los valores aceptables son:
    • "true" = El contexto se propaga en una llamada WebService.
    • "false" = El contexto se propaga en una llamada WebService.
    Atención: El valor por omisión es "false".

Excepciones

El servicio de partición de área de trabajo define las excepciones siguientes para utilizarlas con la interfaz del gestor de particiones de área de trabajo:
PartitionAlreadyExistsException
El método createWorkAreaPartition genera esta excepción en la implementación de WorkAreaPartitionManager si un usuario intenta crear una partición de área de trabajo con un nombre de partición que ya existe. Los nombres de partición deben ser únicos.
NoSuchPartitionException
El método getWorkAreaPartition genera esta excepción en la implementación de WorkAreaPartitionManager si un usuario solicita una partición de área de trabajo con un nombre de partición que no existe.
java.lang.IllegalAccessException
El método createWorkAreaPartition genera esta excepción en la implementación de WorkAreaPartitionManager si un usuario intenta crear una partición de área de trabajo durante el tiempo de ejecución en un proceso de servidor. Este método sólo se puede utilizar en un proceso cliente de Java EE. En el proceso de servidor, se debe crear una partición mediante la consola administrativa.

Para obtener información adicional acerca del área de trabajo, consulte el paquete com.ibm.websphere.workarea en la interfaz de programa de aplicación, API. La documentación de la API generada está disponible en la tabla de contenido del centro de información en Referencia > API- Interfaces de programación de aplicaciones.


Icon that indicates the type of topic Reference topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwa_partition
File name: rwa_partition.html