Contexto de internacionalización: gestión de políticas
Las políticas de internacionalización prescriben cómo los componentes de aplicación Java™ EE o los contenedores que los alojan gestionan el contexto de internacionalización en las invocaciones de componentes. Se aplican dos políticas de gestión de contexto de internacionalización a todos los tipos de componente: AMI (Application-managed internationalization - Internacionalización gestionada por aplicación) y CMI (Container-managed internationalization - Internacionalización gestionada por contenedor).
- Tipo de internacionalización
- Atributo de internacionalización de contenedor
El servicio define un valor predeterminado, o implícita, una política de internacionalización para cada tipo de componente de aplicación. Durante el desarrollo, los ensambladores pueden alterar manualmente la política predeterminada para los tipos de componentes de servidor configurando de forma explícita sus atributos de tipo de internacionalización y de internacionalización de contenedor opcionales. Las políticas configuradas durante el ensamblaje se conservan en el descriptor de despliegue de la aplicación.
Todos los componentes tienen un tipo de internacionalización que indica si es AMI o CMI; es decir, si un componente va a desplegarse bajo la política de internacionalización gestionada por aplicación o gestionada por contenedor. Los ensambladores de aplicaciones pueden establecer el tipo de internacionalización para servlets, beans de sesión y beans controlados por mensajes. Los beans de entidad son implícitamente CMI y los clientes EJB son implícitamente AMI; no pueden configurarse de otro modo.
Para los enterprise beans y servlets CMI, pueden especificarse atributos de internacionalización de contenedor opcionales para indicar qué contexto de internacionalización de invocación va a asignar el contenedor como ámbito a los métodos de servicio o de empresa. Una invocación de un método de empresa o servicio CMI puede ejecutarse bajo el contexto del proceso del llamante, bajo el contexto predeterminado de la JVM del servidor o bajo un contexto personalizado especificado en el atributo. Los ensambladores pueden especificar un atributo de internacionalización de contenedor por conjunto desarticulado de servlets CMI dentro de un módulo web, o un atributo por conjunto desarticulados de métodos de empresa de beans de CMI dentro de un módulo EJB. Un atributo de internacionalización de contenedor puede asociarse a más de un métodos, pero un método no puede asociarse a más de un atributo.
$<Tipo de internacionalización>,<Atributo de internacionalización de contenedor>]
Hay varios casos en los que el descriptor de despliegue parece que carezca de información de política, por ejemplo: aplicaciones cliente EJB tienen valores de política de internacionalización no configurables; componentes de AMI no tienen atributos de internacionalización de contenedor; y no se requiere especificar los atributos de internacionalización de contenedor para los componentes de CMI. Cuando el servicio no puede obtener los valores de los atributos de internacionalización de contenedor y tipo de internacionalización del descriptor de despliegue con un formato correcto, éste inserta implícitamente el valor adecuado en la política.
- Los servlets (servicio) y los métodos de empresa EJB que carecen de información de política de internacionalización en el descriptor de despliegue se ejecutan de forma implícita bajo la política [CMI,RunAsCaller].
- Los servlets de CMI y los métodos de empresa que carecen de un atributo de internacionalización de contenedor en el descriptor de despliegue se ejecutan de forma implícita bajo la política [CMI,RunAsCaller].
- Los servlets de AMI y los métodos de empresa siempre carecen de atributos de internacionalización de contenedor en el descriptor de despliegue, pero se ejecutan de forma implícita bajo la política lógica [AMI,RunAsServer].
- Los clientes EJB siempre carecen de información de política de internacionalización en el descriptor de despliegue. Por definición, los clientes EJB son, de forma implícita tipos AMI y se ejecutan bajo el contexto de invocación de la JVM; se ejecutan bajo la política lógica [AMI,RunAsServer].
Las políticas de internacionalización para clientes EJB y HTTP no se pueden configurar; sin embargo, los clientes HTTP pueden ejecutarse bajo los valores de prioridad de idioma del navegador web en el que están alojados. Estos valores se pueden configurar en el diálogo de opciones de la mayoría de navegadores web. Para más información, consulte la documentación del navegador web.