Realice esta tarea para acceder a elementos del contexto de
internacionalización del llamante.
Acerca de esta tarea
Toda invocación remota de un componente de
aplicación tiene un contexto de internacionalización del llamante asociado a la hebra que
ejecuta dicha invocación.
El contexto del llamante se propaga a través del servicio de
internacionalización y del middleware al destino de una solicitud, como un método de
empresa EJB (Enterprise JavaBeans) o un método de servicio de servlet. Esta tarea se aplica también a los programas
cliente del servicio web.
Procedimiento
- Obtener los elementos del contexto del llamante deseados.
java.util.Locale [] myLocales = null;
try {
myLocales = callerI18n.getLocales();
}
catch (IllegalStateException ise) {
// El contexto de llamante no está disponible;
// ¿Está el servicio arrancado y habilitado?
}
...
La interfaz Internacionalization contiene los métodos siguientes para obtener los elementos de
contexto de internacionalización del llamante:
- Locale [] getLocales() Devuelve la lista de los entornos locales del llamante
asociados con la hebra actual.
- Locale getLocale() Devuelve la primera entrada la lista de los entornos
locales del llamante asociados con la hebra actual.
- TimeZone getTimeZone() Devuelve el llamante SimpleTimeZone asociado con la
hebra actual.
La interfaz Internationalization sólo permite acceso de lectura al contexto
de internacionalización dentro de componentes de aplicaciones.
Los métodos de la interfaz
Internationalization están disponibles dentro de todos los componentes de aplicación EJB
y se utilizan de la misma forma, pero sus semánticas varían según el tipo del componente. Por ejemplo, cuando se obtiene el entorno local del llamante de una aplicación cliente
EJB, la interfaz devuelve el entorno local de la JVM (máquina virtual de
Java™)
del host; por el contrario, cuando se obtiene el contexto del llamante de un método de
servicio de servlet (por ejemplo, los métodos doPost o doGet), la interfaz devuelve el
primer entorno local (idioma aceptado) propagado dentro de la solicitud HTML
correspondiente. Consulte el contexto de
internacionalización para obtener una descripción de cómo el servicio propaga el
contexto de internacionalización por toda una aplicación.
- Utilice los elementos del contexto del llamante para localizar los cálculos de un entorno local o huso horario del proceso llamante.
DateFormat df = DateFormat.getDateInstance(myLocale);
String localizedDate = df.getDateInstance().format(aDateInstance);
...