Verwenden Sie das Tool "wsadmin", um eine Eigenschaftendatei aus einer Zelle zu extrahieren, ändern
Sie umgebungsspezifische Variablen am Ende der extrahierten Eigenschaftendatei, und wenden Sie anschließend
die geänderte Eigenschaftendatei auf eine andere Zelle an.
Die Änderung umgebungsspezifischer Variablen macht eine Eigenschaftendatei portierbar.
Vorbereitende Schritte
Wenn die Eigenschaftendatei, die Sie bearbeiten möchten, vor Version 7.0.0.7 des Produkts
erstellt wurde, untersuchen Sie die Eigenschaftendatei, und stellen Sie fest, ob sie eine XMI-ID wie die folgende
enthält:
#
# Unterabschnitt 1.0 # Virtuelle Hosts
#
ResourceType=VirtualHost
ImplementingResourceType=VirtualHost
ResourceId=Cell=!{cellName}:VirtualHost=ID#VirtualHost_1
#
#Eigenschaften
#
name=default_host
EnvironmentVariablesSection
#Umgebungsvariablen
cellName=myNode04Cell
Eine XMI-ID ist eine eindeutige Kennung, die
ein Produkt vor Version 7.0.0.7 beim Erstellen eines Konfigurationsobjekts generiert.
In einer anderen Umgebung kann die XMI-ID für dasselbe Objekt anders sein.
In diesem Beispiel hat eine VirtualHost-Ressource für den Standardhost
in einer Umgebung die XMI-ID VirtualHost_1.
In einer anderen Umgebung kann die XMI-ID ein anderer Wert sein, z. B.
VirtualHost_2. Eigenschaftendateien, die XMI-IDs haben, sind nicht portierbar.
Extrahierte Eigenschaften, die XMI-IDs haben, können nicht auf eine andere Umgebung
angewendet werden, ohne zuerst die Ressourcen-IDs zu ändern.
Derselbe Abschnitt für einen virtuellen Host in einer Eigenschaftendatei mit portierbaren
Ressourcen-IDs gleicht dem folgenden Abschnitt:
#
# Unterabschnitt 1.0 # Virtuelle Hosts
#
ResourceType=VirtualHost
ImplementingResourceType=VirtualHost
ResourceId=Cell=!{cellName}:VirtualHost=default_host
#
#Eigenschaften
#
name=default_host
EnvironmentVariablesSection
#Umgebungsvariablen
cellName=myNode04Cell
In diesem Beispiel wird name
als Schlüsselattribut für die eindeutige Identifizierung des VirtualHost-Objekts in einer Umgebung
verwendet.
Ein Objekt kann mehrere Schlüsselattribute haben, um das Objekt unter verschiedenen Instanzen
desselben Typs eindeutig zu identifizieren.
Informationen zu diesem Vorgang
Sie können Eigenschaftendateien
mit portierbaren Ressourcen-IDs auf eine andere Umgebung anwenden.
Wenn Sie eine Eigenschaftendatei so extrahieren möchten, dass sie portierbare Ressourcen-IDs hat, verwenden
Sie den Befehl extractConfigProperties mit der Option "PortablePropertiesFile", die auf den Wert true gesetzt wird. Mit dieser Option
extrahierte Eigenschaftendateien sind portierbar.
Die extrahierten Eigenschaftendateien identifizieren die einzelnen Ressourcen nicht eindeutig.
Eine Ressourcen-ID kann ein oder mehrere Attributname/Attributwert-Paare
haben. So gibt das Attribut nodeName beispielsweise einen Knoten
und das Attribut serverName einen Server an.
Standardmäßig ist eine extrahierte Eigenschaftendatei nicht portierbar.
Eine Eigenschaftendatei hingegen, die mit der Option "PortablePropertiesFile", die auf
true gesetzt ist, extrahiert wird, ist portierbar.
Nachdem Sie eine Eigenschaftendatei
mit der auf true gesetzten Option "PortablePropertiesFile" extrahiert haben,
ändern Sie den EnvironmentVariablesSection am Ende der Eigenschaftendatei,
kopieren Sie die Eigenschaftendatei in die Zielumgebung, und führen Sie anschließend
den Befehl applyConfigProperties aus, um die Eigenschaftendatei auf eine andere Zelle anzuwenden.
Sie können diese Befehle auch im Dialogmodus ausführen. Verwenden Sie dazu die folgende Syntax:
AdminTask.Befehlsname('-interactive')
Vorgehensweise
- Starten Sie das Scripting-Tool "wsadmin".
Zum Starten von
"wsadmin" in der Sprache Jython führen Sie im Verzeichnis
bin
des Serverprofils den folgenden Befehl aus:
wsadmin -lang jython
- Extrahieren Sie eine Eigenschaftendatei mit dem Befehl extractConfigProperties und der auf
true gesetzten Option "extractConfigProperties".
Um beispielsweise Eigenschaften eines Servers mit dem Namen server1 in die Datei
server.props in einem portierbaren Format zu extrahieren, führen Sie den folgenden
wsadmin-Befehl aus:
AdminTask.extractConfigProperties('[-propertiesFileName server.props -configData Server=server1
-options [[PortablePropertiesFile true]] ]')
Wenn eine Eigenschaftendatei auf eine Ressource des Typs Server,
Node, Application, Cluster oder AuthorizationGroup verweist, die nicht in der Zielumgebung vorhanden ist,
sollten Sie die Option "GenerateTemplates" auf true setzen:
AdminTask.extractConfigProperties('[-propertiesFileName server.props -configData Server=
-options [[GenerateTemplates true][PortablePropertiesFile true]] ]')
Wenn die Option "GenerateTemplates" verwendet wird, enthält die extrahierte
Eigenschaftendatei Eigenschaftenabschnitte, die die Erstellung eines weiteren Objekts desselben Typs
unterstützt.
Diese Option ist standardmäßig nicht ausgewählt.
- Optional: Öffnen Sie die extrahierte Eigenschaftendatei in einem Editor, und überprüfen Sie die
Ressourcen-IDs, um sicherzustellen, dass diese portierbar sind.
Portierbare IDs identifizieren die einzelnen Ressourcen nicht eindeutig.
Die folgenden Beispiele zeigen portierbare IDs in verschiedenen
Unterabschnitten der Eigenschaftendateien.
- Beispiel 1: Verwendung eines Attributnamens und eines Attributwerts für eine Ressourcen-ID
In diesem Beispiel ist jndiName eine portierbare Ressourcen-ID, die eine Datenquelle identifiziert:
#
# Unterabschnitt 1.0.1.0 # DataSource-Attribute
#
Resou:rceType=DataSource
ImplementingResourceType=JDBCProvider
ResourceId=Cell=!{cellName}:Node=!{nodeName}:Server=!{serverName}:JDBCProvider=Derby JDBC
Provider(XA):DataSource=jndiName#jdbc/DefaultEJBTimerDataSource
- Beispiel 2: Verwendung mehrerer Attributname/Attributwert-Paare für eine Ressourcen-ID
In diesem Beispiel identifizieren die Attribute nodeName und
serverName gemeinsam die Ressource coreGroupServer.
#
# Unterabschnitt 1.0.8.0 # CoreGroupServer-Abschnitt
#
ResourceType=CoreGroupServer
ImplementingResourceType=CoreGroup
ResourceId=Cell=!{cellName}:CoreGroup=!{coreGroup}:CoreGroupServer=nodeName#myNode04,serverName#server1
AttributeInfo=coreGroupServers
- Beispiel 3: Singleton-Ressourcen-ID
In diesem Beispiel gibt es nur ein einziges Security-Objekt in der Zelle.
Da das Security-Objekt als Singleton-Objekt betrachtet wird,
ist kein Attribut erforderlich, um diese Ressource eindeutig zu identifizieren.
#
# Unterabschnitt 1.0 # Security-Abschnitt
#
ResourceType=Security
ImplementingResourceType=Security
ResourceId=Cell=!{cellName}:Security=
Fehler vermeiden: Einige Ressourcen, wie z. B. JDBCProvider und ThreadPool, können
mehrfach mit demselben Namen erstellt werden.
Der Namenswert ist das Schlüsselattribut für diese Objekte.
Erstellen Sie nicht mehrere Instanzen dieser Objekte mit demselben Namen in einem bestimmten Bereich.
gotcha
- Ändern Sie die extrahierte Eigenschaftendatei nach Bedarf.
- Wenn die extrahierte portierbare Eigenschaftendatei auf eine Ressource des
Typs Server, Node, Application, Cluster oder AuthorizationGroup verweist,
die nicht in einer anderen Umgebung vorhanden ist, und wenn der Befehl Befehl
extractConfigProperties mit der auf true gesetzten Option "extractConfigProperties"
ausgeführt wurde, editieren Sie die Eigenschaftendatei, um die Erstellung der Ressource zu aktivieren.
Die Option "GenerateTemplates" ermöglicht Ihnen, einen weiteren Server zu erstellen,
der einem vorhandenen Server gleicht.
Wenn die Servereigenschaften beispielsweise mit dieser Option extrahiert werden, enthält die extrahierte Eigenschaftendatei
eine Schablone oben in der Datei, mit der Sie einen weiteren Server erstellen können.
Der Abschnitt mit der Schablone wird standardmäßig übersprungen.
wenn Sie SKIP=false setzen und anschließend die
erforderlichen Eigenschaften so definieren, dass ein neues Objekt erstellt wird,
erstellt das Produkt ein neues Objekt, wenn der Befehl applyConfigProperties ausgeführt wird, und stellt
die bearbeitete Eigenschaftendatei bereit.
Da die folgenden Abschnitte Konfigurationseigenschaften eines vorhandenen Servers enthalten und diese
Abschnitte verarbeitet werden, wenn der Befehl applyConfigProperties ausgeführt wird,
hat der neu erstellte Server dieselbe Konfiguration wie der alte Server, aus dem die Eigenschaftendatei extrahiert wurde.
Sie müssen den Abschnitt für die Umgebung so ändern, dass er den neuen erstellten Server widerspiegelt,
indem Sie die Variablen nodeName, cellName und
serverName ändern.
Diese Option generiert einen Abschnitt
mit Schabloneneigenschaften vor jedem Abschnitt für einen Server, einen Cluster, eine Anwendung und eine Berechtigungsgruppe.
Die Abschnitte sind standardmäßig inaktiviert.
Bearbeiten Sie für jedes Objekt, das in der Zielumgebung nicht vorhanden ist, den diesem Objekt entsprechenden
Abschnitt.
Fügen Sie die richtigen Eigenschaftswerte ein, und entfernen Sie
SKIP=true.
Setzen Sie die umgebungsspezifischen Variablen am Ende der Eigenschaftendatei so,
dass sie die neue Zielumgebung widerspiegeln.
- Ändern oder löschen Sie keine Eigenschaften, die als Schlüssel für die Identifizierung eines Objekts verwendet werden.
Wenn Sie ein Schlüsselattribut in einem Objekt ändern oder löschen, dürfen
nachfolgende Abschnitte in der Eigenschaftendatei nicht erneut auf das Objekt verweisen.
Die in den nachfolgenden Abschnitten angegebene Ressource wird nicht gefunden.
Sehen Sie sich beispielsweise die Eigenschaften für den virtuellen Host in den folgenden Abschnitten an:
ResourceType=VirtualHost
ImplementingResourceType=VirtualHost
ResourceId=Cell=!{cellName}:VirtualHost=admin_host
#
#Eigenschaften
#
name=admin_host #required
#
# Unterabschnitt 1.0.1 # MimeTypes-Abschnitt
#
ResourceType=VirtualHost
ImplementingResourceType=VirtualHost
ResourceId=Cell=!{cellName}:VirtualHost=admin_host
AttributeInfo=mimeTypes(type,extensions)
Wenn name=admin_host in
name=my_host geändert geändert wird, kann der Abschnitt zu den MIME-Typen, der
ResourceId==!{cellName}:VirtualHost=admin_host enthält, die mit ResourceId angegeben Ressource nicht finden,
weil der Name im vorherigen Abschnitt geändert wurde.
Wird name=admin_host gelöscht, kann der Abschnitt zu den MIME-Typen die mit ResourceId angegebene Ressource
ebenfalls nicht finden.
- Validieren Sie die Eigenschaftendatei.
Führen Sie den Befehl validateConfigProperties aus.
Weitere Informationen finden Sie im Artikel zur Validierung von Eigenschaftendateien.
- Kopieren sie die portierbare extrahierte Eigenschaftendatei in eine andere Umgebung.
- Wenn die extrahierte portierbare Eigenschaftendatei auf eine Ressource des
Typs Server, Node, Application, Cluster oder AuthorizationGroup verweist,
die nicht in einer anderen Umgebung vorhanden ist, und wenn der Befehl Befehl
extractConfigProperties nicht mit der auf true gesetzten Option "extractConfigProperties"
ausgeführt wurde, erstellen Sie die Ressource in der anderen Umgebung.
Da die Eigenschaftendatei ursprünglich auf eine andere Umgebung angewendet wurde,
kann eine Ressourcen-ID in der Eigenschaftendatei auf eine Ressource verweisen,
die nicht in der Zielumgebung vorhanden ist.
Wenn keine Ressource des Typs
Server, Node, Application, Cluster oder AuthorizationGroup in der Zielumgebung vorhanden ist und die
Eigenschaftendatei die Erstellung der Ressource nicht unterstützt, erstellen Sie die Ressource in der
Zielumgebung, bevor Sie die Eigenschaften für diese Ressource anwenden.
Außerdem kann ein Attribut auf eine andere Ressource verweisen.
Stellen Sie sicher, dass alle referenzierten Ressourcen vorhanden sind, und erstellen Sie gegebenenfalls
Ressourcen des Typs Server, Node, Application, Cluster oder AuthorizationGroup, die fehlen.
- Wenden Sie die portierbare extrahierte Eigenschaftendatei mit dem Befehl applyConfigProperties in einer anderen Umgebung an.
Wenn Sie beispielsweise die Eigenschaftendatei server.props anwenden und einen
Bericht mit dem Namen rep.txt generieren möchten, führen Sie den folgenden
wsadmin-Befehl aus:
AdminTask.applyConfigProperties('[-propertiesFileName server.props -reportFileName rep.txt]')
Wenn eine in der Eigenschaftendatei angegebene Ressource in der Zielumgebung vorhanden ist und der in der Eigenschaftendatei
angegebene Eigenschaftwert mit dem Wert identisch ist, der bereits in der Zielumgebung definiert ist,
wird diese Eigenschaft übersprungen bzw. nicht in der Zielumgebung gesetzt.
Das Produkt wendet nur Eigenschaften an, die sich von den in der Eigenschaftendatei angegebenen unterscheiden.
Wenn eine in der Eigenschaftendatei angegebene Ressource
nicht in der Zielumgebung vorhanden ist, erstellt das Produkt
eine neue Ressource und setzt alle Eigenschaften für die neu erstellte Ressource
auf die Werte für die Ressource in der Eigenschaftendatei.
Das Produkt erstellt keine Ressourcen des Typs Server, Node,
Application, Cluster oder AuthorizationGroup, sofern der Befehl extractConfigProperties nicht mit der
auf true gesetzten Option "GenerateTemplates" ausgeführt wurde und
die Eigenschaftendatei nicht mindestens eine neue Ressource dieser Typen spezifiziert.
Fehler vermeiden: Wenn das Attribut einer Ressource in der Eigenschaftendatei eine andere Ressource referenziert,
die nicht in der Zielumgebung vorhanden ist, wird die referenzierte Ressource vom Befehl
applyConfigProperties nicht erstellt.
Beispiel: In der folgenden Eigenschaftendatei ist
coreGroupName ein Attribut einer
HAManagerService-Ressource
und referenziert eine Stammgruppenressource (coregroup) über den Namen. Wenn die Stammgruppe mit dem Namen
myCoreGroup in der Zielumgebung
nicht vorhanden ist und Sie die Eigenschaftendatei mit dem Befehl
applyConfigProperties anwenden, wird die Stammgruppenressource
nicht erstellt.
#
# Unterabschnitt 1.0 # HAManagerService-Abschnitt
#
ResourceType=HAManagerService
ImplementingResourceType=HAManagerService
ResourceId=Cell=!{cellName}:Node=!{nodeName}:Server=!{serverName}:HAMana
gerService=
AttributeInfo=hamanagerservice
#
#
#Eigenschaften
#
isAlivePeriodSec=120 #integer,required,default(120)
transportBufferSize=10 #integer,required,default(1)
enable=true #boolean,default(false)
context=null
activateEnabled=true #boolean,default(false)
description=Template version of HAManager service.
coreGroupName=myCoreGroup
gotcha
Ergebnisse
Die Zielumgebung wird über die angewendete Eigenschaftendatei aktualisiert.
Nächste Schritte
Speichern Sie die Änderungen in Ihrer Konfiguration.