コンテナー国際化対応属性
すべての CMI サーブレットおよび EJB ビジネス・メソッドの国際化対応ポリシーには、 コンテナーが起動に際してスコープ宣言する国際化対応コンテキストを指定するためのコンテナー国際化対応属性 が 含まれています。
- Run as
- ロケール
- 時間帯 ID
- Web モジュール内の CMI サーブレット
- Enterprise JavaBeans (EJB) モジュール内の CMI エンタープライズ Bean のビジネス・メソッド
- Web サービス対応セッション Bean のビジネス・メソッド。以下の説明において、サポート・エンタープライズ Bean という用語は、CMI エンタープライズ Bean と Web サービス対応セッション Bean の両方を指しています。
「Run-as」フィールド
「Run-as」フィールドには、 コンテナーがメソッドに対してスコープ宣言できる 3 つのタイプの起動コンテキストから、 いずれか 1 つを指定します。サーブレット・サービス・メソッドおよび EJB ビジネス・メソッドの場合、コンテナーは、「Run as」フィールドの設定に従って起動国際化対応コンテキストを構成し、 メソッドの実装に委任する前に、このコンテキストを現行スレッドに関連付けます。
デフォルトでは、サーブレット・サービス・メソッドおよび EJB ビジネス・メソッドの呼び出しは、ポリシーの属性の「Run as」フィールドに他の設定が指定されていない限り、暗黙的に呼び出し元として実行されます (RunAsCaller)。EJB クライアント・アプリケーションおよび AMI サーバー・コンポーネントは、 常にサーバーとして実行されます (RunAsServer)。
- 呼び出し元
- コンテナーは、呼び出しプロセスの国際化対応コンテキストの下でメソッドを呼び出します。コンテキスト・エレメントに欠落がある場合、 コンテナーは、Java™ 仮想マシン (JVM) の対応するデフォルトのコンテキスト・エレメントを提供します。 呼び出しプロセスの起動コンテキストの下で起動を実行する場合は、「Run as caller」を選択してください。
- サーバー
- コンテナーは、JVM のデフォルト・ロケールおよび時間帯の下でメソッドを呼び出します。JVM の起動コンテキストの下で起動を実行する場合は、「Run as server」を選択してください。
- 指定
- コンテナーは、属性で指定された国際化対応コンテキストの下でメソッドを呼び出します。 ポリシーで指定されているカスタム起動コンテキストの下で起動を実行する場合は、「Run as specified」を選択し、次に、「ロケール」および「時間帯 ID」フィールドに入力してカスタム・コンテキスト・エレメントを提供します。
「ロケール」フィールド
- 言語コード。理想的には、言語コードは ISO 639 によって定義された小文字の 2 文字コードのうちの 1 つですが、言語コードは ISO コードに限定されないので、必須フィールドではありません。有効ロケールには、国別コードを指定しない場合、 言語コードを指定する必要があります。
- 国別コード。理想的には、国別コードは ISO 3166 標準によって定義された大文字の 2 文字コードのうちの 1 つですが、言語コードは ISO コードに限定されないので、必須フィールドではありません。有効ロケールには、言語コードを指定しない場合、 国別コードを指定する必要があります。
- バリアント。バリアントは、ベンダー特定コードです。バリアントは、必須フィールドではなく、 アプリケーションまたはプラットフォームの特定の要件に従って、言語コードおよび国別コードを補足するためだけのものです。
有効ロケールには、少なくとも言語コードまたは国別コードを指定する必要があり、 バリアントは常にオプションです。リストの最初のロケールは、国際化対応コンテキスト API の getLocale メソッドを使用して起動コンテキストにアクセスするときに戻されます。
「時間帯 ID」フィールド
「時間帯 ID」フィールドには、コンテナーが呼び出しに対してスコープ宣言する時間帯の短縮 ID を指定します。 また、「時間帯 ID」フィールドを Web サービス・ビジネス・メソッドに構成することもできます。
時間帯は、相対時刻を表し、夏時間調整情報を計算します。 有効な ID は、java.util.TimeZone 型によってサポートされる時間帯を示します。 つまり、有効な ID は、メソッド java.util.TimeZone.getAvailableIds() によって戻される時間帯 ID リストに表示される ID か、または GMT[+|-]hh[[:]mm] の形式を持つカスタム ID です (例えば、 America/Los_Angeles、GMT-08:00 は有効な時間帯 ID です)。