Die beste Methode zum Festlegen von Umgebungsvariablen beim Start von WebLogic

8

Was ist in Oracle WebLogic der beste Weg, um eine Umgebungsvariable so festzulegen, dass der Code darauf zugreifen kann? Apps von Drittanbietern, auf denen WebLogic ausgeführt wird, suchen nach einer Umgebungsvariablen.

Hinweis: Wir starten unsere verwalteten Server mit dem Node Manager.

Ich würde es vorziehen, es irgendwo in der Domänenkonfiguration zu setzen, wie auf der Registerkarte Server Start in der Admin-Konsole, aber es scheint keinen guten Platz dafür zu geben.

Der einzige Weg, wie ich es sehen kann, wäre es 1. Bearbeiten Sie die Datei bin / setDomainEnv.sh, um die Umgebungsvariable zu exportieren 2. Ändern Sie nodemanager.properties so, dass StartScriptEnabled = true

ist

Erzwingt dadurch, dass NodeManager /bin/startManagedWebLogic.sh verwendet, sodass Sie Variablen hinzufügen können, die beim Start von NodeManager abgerufen werden. Aber Sie müssen dies auch auf jeder Maschine tun.

Ich frage mich, ob es eine sauberere Methode gibt, dies zu tun, als mit den Startup-Skripten von Oracle herumzulaufen.

    
David Hergert 12.05.2014, 22:47
quelle

1 Antwort

8

Wenn Sie sicher sind, dass keines der gängigen Frameworks wie das Spring Framework verwendet wird und Sie Code haben, der streng nach Umgebungsvariablen sucht, müssen Sie > Setzen Sie die Umgebungsvariablen außerhalb der üblichen Konfigurationsdateien, bevor der Java-Prozess, der erwartet wird, gestartet wird. Sobald der Java-Prozess gestartet wurde, sind die Umgebungsvariablen schreibgeschützt und final für diesen Prozess .

Hinweis: Wenn Sie Umgebungsvariablen für das gesamte System benötigen, verwenden Sie / etc / profile, / etc / bash_profile, / etc / environment usw. Beachten Sie, dass Sie die Variablen in diesen Variablen festlegen Globale Speicherorte erfordern, dass Sie den Knotenmanager von einer neuen Anmeldung aus neu starten. Sie müssen den Computer nicht neu starten, aber Profil- / Umgebungsdateien werden normalerweise nur bei der Anmeldung bereitgestellt.

Für Apps innerhalb einer Domäne oder eines Knotens sollten Umgebungsvariablen in den Startskripten für die Server enthalten sein. Das Bearbeiten von setDomainEnv. [Sh | cmd] oder start (Managed) Weblogic. [Sh | cmd] ist die beste Option zum Festlegen von WebLogic-Umgebungsvariablen.

Wenn die App jedoch Spring verwendet, werden Systemeigenschaften und Umgebungsvariablen kombiniert. Systemeigenschaften werden stark unterstützt und sind einfacher zu verwalten und zu kontrollieren.

Ref: Was? ist die beste Vorgehensweise zum Festlegen von Java-Systemeigenschaften, -D oder System.setProperty ()?

Weblogic Domain-Umgebungsvariablen

Einer der Orte zum Festlegen von Systemeigenschaften oder Umgebungsvariablen ist das Bearbeiten des Skripts für die Domänenumgebung, das zum Starten aller Knoten oder Server mit derselben WebLogic-Serverinstallation und -domäne verwendet wird. Inside & lt; weblogic_domain & gt; /bin/setDomainEnv.sh , ( setDomainEnv.cmd unter Windows), fügen Sie für Umgebungsvariablen diese einfach oben hinzu und fügen Sie Kommentare hinzu, um ihre Verwendung zu dokumentieren.

> %Vor%

Für Systemeigenschaften können Sie Befehlszeilenargumente hinzufügen, die jedem Server hinzugefügt werden, indem Sie eine Zeile für EXTRA_JAVA_PROPERTIES am Anfang der Datei neben der WL_HOME-Definition, aber nach den Funktionen und Kommentaren hinzufügen.

%Vor%

Weblogic Node-spezifische Umgebungsvariablen

Wenn Sie für jeden Knoten, der vom selben Node-Manager gestartet wird, verschiedene Umgebungsvariablen benötigen, müssen Sie die Startskripte ein wenig mehr anpassen. Bearbeiten Sie in diesem Fall das & lt; weblogic_domain & gt; / bin / startManagedWeblogic. [sh | cmd] und fügen Sie nach _export SERVER_NAME_ eine Skriptlogik ein. Auf diese Weise können Sie Ihre Einstellungen basierend auf SERVER_NAME usw. steuern.

Tipp: Bei Windows Umgebungsvariablen wird bei System.getenv (..) nicht zwischen Groß- und Kleinschreibung unterschieden.

    
Jason Alexander 28.10.2014 14:40
quelle