Internationalisierungskontext: Verwaltungsrichtlinien

Internationalisierungsrichtlinien geben vor, wie die Komponenten einer Java™ EE-Anwendung und die Container, die diese Komponenten enthalten, den Internationalisierungskontext bei Komponentenaufrufen verwalten. Für alle Komponententypen stehen zwei Verwaltungsrichtlinien für den Internationalisierungskontext zur Auswahl: AMI (Application-Managed Internationalization) und CMI (Container-Managed Internationalization).

Diese Richtlinien setzen sich aus zwei Teilen zusammen:
  • Internationalisierungstyp
  • Containerattribut für die Internationalisierung

Der Service definiert für jeden Komponententyp einer Anwendung eine Standard- oder implizite Internationalisierungsrichtlinie. Während der Anwendungsentwicklung können die Personen, die für die Anwendungsassemblierung zuständig sind, die Standardrichtlinie für die Komponententypen des Servers ändern, indem sie den Internationalisierungstyp und optional die Containerattribute für die Internationalisierung explizit konfigurieren. Die während der Assemblierung konfigurierten Richtlinien werden im Implementierungsdeskriptor der Anwendung gespeichert.

Alle Komponenten haben einen Internationalisierungstyp: AMI oder CMI. Der Internationalisierungstyp zeigt an, ob eine Komponente mit der AMI- oder CMI-Richtlinie implementiert werden soll. Die Personen, die für die Anwendungsassemblierung zuständig sind, können den Internationalisierungstyp für Servlets, Session-Beans und Message-Driven-Beans setzen. Entity-Beans haben implizit den Typ CMI und EJB-Clients den Typ AMI. Eine andere Konfiguration ist nicht möglich.

Für CMI-Servlets und Enterprise-Beans können optionale Containerattribute für die Internationalisierung angegeben werden, die anzeigen, welchen Internationalisierungskontext für Aufrufe der Container den Service- oder Geschäftsmethoden zuweisen soll. Der Aufruf einer CMI-Service- oder -Geschäftsmethode kann in dem Kontext des aufrufenden Prozesses, im Standardkontext der Server-JVM oder in einem angepassten Kontext, der mit dem Attribut angegeben wird, ausgeführt werden. Die Personen, die für die Assemblierung der Anwendung zuständig sind, können pro disjunkter Gruppe von CMI-Servlets in einem Webmodul oder pro disjunkter Gruppe von Geschäftsmethoden der CMI-Beans in einem EJB-Modul ein Containerattribut für die Internationalisierung angeben. Ein Containerattribut für die Internationalisierung kann also mehreren Methoden, aber eine Methode nur einem Attribut zugeordnet werden.

Wenn ein Anwendungsserver eine Anwendung startet, erfasst der Service zur Internationalisierung die Richtlinieninformationen aus dem Implementierungsdeskriptor und verwendet dann diese Informationen, um jedem Komponentenaufruf eine Internationalisierungsrichtlinie zuzuweisen. Eine Richtlinie wird wie folgt angegeben:
[<Internationalisierungstyp>,<Containerattribute für die Internationalisierung>]

In verschiedenen Fällen scheinen die Richtlinieninformationen im Implementierungsdeskriptor zu fehlen, z. B wenn EJB-Clientanwendungen keine konfigurierbaren Einstellungen für die Internationalisierungsrichtlinie enthalten, AMI-Komponenten keine Containerattribute für die Internationalisierung besitzen und Sie für CMI-Komponenten keine Containerattribute für die Internationalisierung angeben müssen. Wenn der Service den expliziten Internationalisierungstyp und die Einstellungen für die Containerattribute nicht aus einem ordnungsgemäß erstellten Implementierungsdeskriptor abrufen kann, fügt er einfach die entsprechenden Einstellungen in die Richtlinie ein.

Der Service richtet sich nach den folgenden Konventionen, wenn er Richtlinien auf Aufrufe anwendet:
  • Servlets (Service) und EJB-Geschäftsmethoden, die im Implementierungsdeskriptor keine keine Informationen zur Internationalisierungsrichtlinie enthalten, werden implizit mit der Richtlinie [CMI,RunAsCaller] ausgeführt.
  • CMI-Servlets und Geschäftsmethoden, die im Implementierungsdeskriptor kein Containerattribut für die Internationalisierung enthalten, werden implizit mit der Richtlinie [CMI,RunAsCaller] ausgeführt.
  • AMI-Servlets und Geschäftsmethoden enthalten im Implementierungsdeskriptor niemals Containerattribute für die Internationalisierung, werden aber implizit mit der logischen Richtlinie [AMI,RunAsServer] ausgeführt.
  • EJB-Clients enthalten im Implementierungsdeskriptor niemals Informationen zur Internationalisierungsrichtlinie. Per Definition sind EJB-Clients implizit AMI-Typen und werden im Aufrufkontext der JVM mit der logischen Richtlinie [AMI,RunAsServer] ausgeführt.
Sollten Sie andere Bedingungen als die hier beschriebenen feststellen, z. B. einen Implementierungsdeskriptor mit falschem Format, lesen Sie den Artikel Fehler im Service zur Internationalisierung.

Die Internationalisierungsrichtlinien für EJB-Clients und HTTP-Clients können nicht konfiguriert werden. HTTP-Clients können jedoch mit den Prioritätseinstellungen für Sprache des zugehörigen Web-Browsers ausgeführt werden. Diese Einstellungen können im Dialog "Einstellungen" (oder "Internetoptionen" in IE) der meisten Web-Browser konfiguriert werden. Ausführliche Informationen hierzu finden Sie in der Dokumentation zu Ihrem Web-Browser.


Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cin_i18ncontextpolicies
Dateiname:cin_i18ncontextpolicies.html