获取国际化上下文 API 访问权
执行此任务以通过解析对国际化上下文 API 的引用来访问国际化服务。
关于此任务
在应用程序组件的生命周期中,在该组件的初始化方法中(例如,在 servlet 的 init 方法中或企业 Bean 的 SetXxxContext 方法中)对国际化上下文 API 引用进行一次性解析。对于 Web Service 客户机程序,在初始化过程中对国际化上下文 API 的引用进行解析。对于支持 Web Service 的无状态会话 Bean,在 setSessionContext 方法中对引用进行解析。
过程
- 通过查找 Java™ 命名和目录接口 (JNDI) 名称 java:comp/websphere/UserInternationalization 以对 UserInternationalization 接口的引用进行解析。 例如:
//-------------------------------------------------------------------- // Internationalization context imports. //-------------------------------------------------------------------- import com.ibm.websphere.i18n.context.*; import javax.naming.*; ... public class MyApplication { ... //-------------------------------------------------------------------- // Resolve a reference to the UserInternationalization interface. //-------------------------------------------------------------------- InitialContext initCtx = null; UserInternationalization userI18n = null; final String UserI18nUrl = "java:comp/websphere/UserInternationalization"; try { initCtx = new InitialContext(); userI18n = (UserInternationalization)initCtx.lookup(UserI18nUrl); } catch (NamingException ne) { // UserInternationalization URL is unavailable. }
如果 UserInternationalization 对象由于异常或限制而不可用,JNDI 查找调用将抛出包含 java.lang.IllegalStateException 实例的 javax.naming.NameNotFoundException 异常。
- 使用 UserInternationalization 引用创建 CallerInternationalization 或 InvocationInternationalization 对象的引用,这些对象分别提供对 调用者或调用国际化上下文元素的访问权。 CallerInternationalization 引用只能绑定到 Internationalization 接口;InvocationInternationalization 引用则可以根据应用程序需要对调用上下文进行只读还是读写访问,绑定到 Internationalization 接口或 InvocationInternationalization 接口。例如:
... //-------------------------------------------------------------------- // Resolve references to the Internationalization and // InvocationInternationalization interfaces. //-------------------------------------------------------------------- Internationalization callerI18n = null; InvocationInternationalization invocationI18n = null; try { callerI18n = userI18n.getCallerInternationalization(); invocationI18n = userI18n.getInvocationInternationalization(); } catch (IllegalStateException ise) { // An Internationalization interface(s) is unavailable. }


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tin_gainaccess
文件名:tin_gainaccess.html