访问调用者语言环境和时区

执行此任务以访问调用者国际化上下文的元素。

开始之前

应用程序组件首先必须解析对 CallerInternationalization 对象的引用,然后将它绑定到 Internationalization 接口。

关于此任务

应用程序组件的每个远程调用都有一个关联的调用者国际化上下文与运行该调用的线程关联在一起。国际化服务和中间件将调用者上下文传播到请求的目标,如 Enterprise JavaBeans (EJB) 业务方法或 servlet 服务方法。此任务还适用于 Web Service 客户机程序。

过程

  1. 获取需要的调用者上下文元素。
    java.util.Locale [] myLocales  = null;
    try {
      myLocales  = callerI18n.getLocales();
    }
    catch (IllegalStateException ise) {
      // The Caller context is unavailable; 
      // is the service started and enabled?  
    }
    ...
    Internationalization 接口包含获取调用者国际化上下文元素的以下方法:
    • Locale [] getLocales() 返回与当前线程关联的一系列调用者语言环境。
    • Locale getLocale() 返回与当前线程关联的一系列调用者语言环境中的第一个。
    • TimeZone getTimeZone() 返回与当前线程关联的 SimpleTimeZone 调用者。

    Internationalization 接口支持对应用程序组件中的国际化上下文进行只读访问。所有 EJB 应用程序组件都可以使用 Internationalization 接口的各个方法并且使用方式相同,但方法语义因组件类型不同而异。例如,获取 EJB 客户机应用程序中的调用者语言环境时,此接口返回主管 Java™ 虚拟机 (JVM) 的缺省语言环境;相比之下,获取 servlet 服务方法(例如:doPost 或 doGet 方法)中的调用者上下文时,此接口返回相应的 HTML 请求中传播的第一个语言环境(接受语言)。请参阅国际化上下文以获取有关服务如何将国际化上下文传播到整个应用程序中的讨论。

  2. 使用调用者上下文元素对调用进程的语言环境或时区中的计算进行本地化。
    DateFormat df = DateFormat.getDateInstance(myLocale);
    String localizedDate = df.getDateInstance().format(aDateInstance);
    ...

指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tin_accesscallertz
文件名:tin_accesscallertz.html