国际化上下文

国际化上下文是国际化信息的可分布式集合,这些信息包含语言环境的有序列表或链以及单个时区,其中语言环境和时区分别是 java.util.Locale 和 java.util.TimeZone Java™ SDK 类型的实例。语言环境链根据用户的首选项进行排序。

国际化服务管理并使两种国际化上下文类型可用:调用者上下文,其表示调用者的本地化环境,而调用上下文,其表示运行业务方法的本地化环境。服务器应用程序组件使用调用者和调用国际化上下文的元素,相应地定制语言环境敏感和时区敏感的计算。

国际化服务不支持除了在 Java SDK 中可找到 java.util.SimpleTimeZone 类型之外的时区类型。当提供给国际化上下文 API 方法时,不支持的时区类型静默映射至 JVM 的缺省时区。要获得 java.util.Locale、java.util.TimeZone 和 java.util.SimpleTimeZone 类型的完整描述,请参阅 Java SDK API 文档。

调用者上下文

调用者国际化上下文包含入局 EJB 业务方法和 servlet 服务方法调用上接收的语言环境链和时区;它是从调用过程传递的国际化上下文。使用服务器应用程序组件内的调用者上下文元素将计算本地化为调用组件。调用者上下文是只读的,而且可以由所有应用程序组件使用国际化上下文 API 的 Internationalization 接口访问。

以下列方式计算调用者上下文:在 EJB 业务方法或 servlet 服务方法调用上,国际化服务从入局请求抽取国际化上下文,并将此上下文的范围设定为作为调用者上下文的方法。对于任何缺少的或 null 的上下文元素,服务插入 JVM 的相应缺省元素(例如 java.util.Locale.getDefault() 或 java.util.TimeZone.getDefault())。只要在为 Web Service 启用的无状态会话 Bean 的调用上遇到缺少或为 null 的调用者上下文元素,此服务就执行类似的插入。

从形式上来说,调用上下文是调用业务方法或应用程序组件的调用上下文。

调用上下文

调用国际化上下文包含运行 EJB 业务方法和 servlet 服务方法的语言环境链和时区。它由主管容器或应用程序组件管理,这取决于可用的国际化策略。在出局业务方法请求上,它是传递给目标进程的上下文。使用调用上下文元素在当前应用程序组件的指定设置下本地化计算。

以下列方式计算调用上下文:在入局业务方法或 servlet 服务方法调用上,国际化服务查询关联的上下文管理策略。如果策略是容器管理的国际化 (CMI),那么容器将策略指定的上下文的范围设定为调用;否则,策略是应用程序管理的国际化 (CMI),而且容器将空上下文的范围设定为方法实现可改变的调用。

应用程序组件可通过国际化上下文 API 的 Internationalization 和 InvocationInternationalization 接口访问调用上下文元素。调用上下文元素只能在应用程序管理的国际化策略下设置(覆盖)。

在出局业务方法请求上,服务获得当前设定范围的调用上下文,并将它连接到此请求。此出局的已导出上下文变成目标调用的调用者上下文。当提供调用上下文元素时,对于在出局请求或通过 API 的导出,国际化服务总是使用 API 提供最新的元素集;服务还为任何 null 的调用上下文元素提供 JVM 的相应缺省元素。

因为在 Web Service (SOAP) 请求上传递的国际化上下文包含时区标识,而不是 java.lang.SimpleTimeZone 对象的整个状态,所以当支持 Web Service 的客户机程序或会话 Bean 在远程业务计算中涉及时,时区信息可能丢失。


指示主题类型的图标 概念主题



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