国际化类型

每个服务器应用程序组件有一个国际化类型设置,它表明调用国际化上下文由组件管理还是由主管 Java™ EE 容器管理。

服务器应用程序组件可以部署为使用两类国际化上下文管理中的一种:
  • 应用程序管理的国际化 (AMI)
  • 容器管理的国际化 (CMI)

服务器组件可以部署为 AMI 或 CMI,但只能从两者中选择一种;缺省值为 CMI。该设置应用于每个调用中的整个组件。实体 Bean 只使用 CMI。Enterprise JavaBeans (EJB) 客户机应用程序没有国际化类型设置;它们隐式使用 AMI。

应用程序管理的国际化

根据 AMI 部署策略,组件开发者对调用国际化上下文拥有完整的控制权。AMI 组件可以使用国际化上下文 API 通过程序设置调用上下文元素。

AMI 组件将管理调用上下文。对 AMI 组件的调用隐式运行于主管 JVM 的缺省语言环境和时区下。如果未使用 API 设置调用上下文元素,那么在通过 API 访问或通过业务方法导出时,缺省情况下将使用相应的 JVM 元素作为调用上下文元素。要导出 JVM 缺省元素之外的上下文元素时,AMI servlet、AMI 企业 Bean 和 EJB 客户机应用程序必须使用国际化上下文 API 设置(覆盖)调用元素。此外,容器将在逻辑上暂挂 AMI servlet 生命周期方法和 AMI EJB 业务方法调用上导入的调用者上下文。要继续传播调用进程的上下文,AMI servlet 和企业 Bean 必须使用 API 将调用者上下文元素转换为调用上下文。

为具有容器管理的国际化 (CMI) 不支持的国际化上下文管理需求的服务器组件指定 AMI。

容器管理的国际化

CMI 是服务器应用程序组件的首选国际化上下文管理策略;它也是缺省策略。国际化服务根据 CMI 与 Web 容器及 EJB 容器协作为 servlet 和企业 Bean 设置调用国际化上下文。该服务根据与 servlet(服务方法)或 EJB 业务方法关联的策略的容器国际化属性设置调用上下文。

CMI 策略有一个容器国际化属性,该属性指定容器将哪个国际化上下文作为调用的范围。有关详细信息,请参阅容器国际化属性。缺省情况下,CMI 组件的调用运行于调用者的国际化上下文下;或者,当 servlet 或业务未与部署描述符中的属性关联时,它们遵循隐式策略 [CMI,RunasCaller]。要获取更多详细信息,请参阅国际化上下文:管理策略

CMI 组件中的方法可以使用国际化上下文 API 获取调用上下文的元素,但不能设置它们。在 CMI 组件中设置调用上下文元素的任何尝试都将导致抛出 java.lang.IllegalStateException 异常。

为需要标准国际化上下文管理的服务器应用程序组件指定容器管理的国际化。然后为不希望运行于调用者的国际化上下文下的 CMI servlet 和 CMI 企业 Bean 的业务方法指定容器国际化属性。


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



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