Network Deployment (Distributed operating systems), v8.0 > Develop and deploying applications > Develop Internationalization service > Task overview: Internationalizing application components (internationalization service) > Use the internationalization context API


Gaining access to the internationalization context API

Perform this task to access the internationalization service by resolving a reference to the internationalization context API.
Resolve internationalization context API references once over the life cycle of an application component, within the initialization method of that component (for example, within the init method of servlets, or within the SetXxxContext method of enterprise beans). For Web service client programs, resolve a reference to the internationalization context API during initialization. For stateless session beans enabled for Web services, resolve the reference in the setSessionContext method.


Procedure

  1. Resolve a reference to the UserInternationalization interface by performing a lookup on the Java Naming and Directory Interface (JNDI) name java:comp/websphere/UserInternationalization. For example:
    //--------------------------------------------------------------------
    // 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.
      }
    
    

    If the UserInternationalization object is unavailable because of an anomaly or a restriction, the JNDI lookup invocation issues a javax.naming.NameNotFoundException exception that contains the java.lang.IllegalStateException instance.

  2. Use the UserInternationalization reference to create references to the CallerInternationalization or InvocationInternationalization objects, which provide access to elements of the Caller or Invocation internationalization contexts, respectively. The CallerInternationalization reference can be bound to the Internationalization interface only; the InvocationInternationalization reference can be bound to either the Internationalization or the InvocationInternationalization interfaces, depending on whether the application requires read-only or read-write access to the invocation context. For example:
      ...
      //--------------------------------------------------------------------
      // 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.
      }
    
    


Internationalization context
Access caller locales and time zones
Access invocation locales and time zones


Related


Internationalization context API: Programming reference

+

Search Tips   |   Advanced Search