Externe properties-Datei mit Weblogic
Ich bin auf der Suche nach der beste Weg, um die Verwendung einer externen properties-Datei mit einer Anwendung, die gehen, um sein Bereitstellung auf Weblogic 10.3 server. Ich lese eine Reihe von Artikeln auf der Website, aber ich möchte nicht zu hart-code den Pfad der properties-Datei oder legen Sie die Datei in den domains/mydomain Ordner.
Gibt es eine dynamische Art und Weise, dies zu tun, so dass, wenn die Anwendung bereitgestellt wird die properties-Datei ist ebenfalls installiert, beispielsweise im Rahmen der Bereitstellungen Ordner, und Lesen Sie von dort aus?
Vielen Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Andere alternative, die nicht erfordert Sie die Datei an einem anderen Ort-Anwendungen, der es Lesen wird, ist die Verwendung der Generischen Datei Laden Überschreibt:
http://download.oracle.com/docs/cd/E21764_01/web.1111/e13702/config.htm#i1066493
Dies umfasst das erstellen Sie ein Verzeichnis wird das root-Verzeichnis Ihrer Bereitstellung, nennen wir es FooApplication hat FooApplication.Ohr und FooWeb.Krieg. Dies wird als dem Installationsverzeichnis der Anwendung. Ihr Antrag geht in die FooApplication/app sub-directory, ob es ein Archiv (wie .Ohr .war, jar) oder ob es eine erweiterte version eines dieser Archive. Ihre optionalen deployment-plan (die Sie haben muss man um diese Funktion zu verwenden, könnte es sein, einen plan, der nicht viel tun, über die Angabe eines config-root-element und die Werte wie in der Dokumentation beschrieben) geht in die FooApplication/plan. Sie können Ihre Eigenschaften, die Sie außer Kraft setzen möchten diejenigen, die in der Anwendung in FooApplication/plan/AppFileOverrides directory-Struktur.
http://download.oracle.com/docs/cd/E21764_01/web.1111/e13702/deployunits.htm#sthref9
Einmal, dass diese Art der Bereitstellung erfolgt ist, Sie code schreiben, wie Sie diese aus Ihrer Anwendung und den Inhalt der Anwendung.Eigenschaften Lesen bekommen von der FooApplication/plan/AppFileOverrides/FooWeb.Krieg/myApp.Eigenschaften wird die eigentliche Datei, die eingelesen wird.
Dies wird erreicht, indem ein classloader für Ihre Anwendung, wie in der Dokumentation. Es mag mühsam für die erstmalige Konfiguration, aber es ist eine Funktion, die direkt erfüllt die ursprüngliche Frage und nur für diese spezielle Anwendung.
Können Sie ein Verzeichnis auf dem classpath und Legen Sie Ihre Datei mit den benutzerdefinierten Eigenschaften, die in diesem Ordner/Verzeichnis. So dass, das gesamte Verzeichnis zusammen mit dem property-Datei werden auf dem classpath.
Zum festlegen des Verzeichnisses auf dem Klassenpfad in der weblogic 10.3.x
%DOMAIN_HOME%\config\
Ordner. BeispielappConfig
.config.properties
) inappConfig
Verzeichnis/Ordner.Ändern Sie die
setDomainEnv.cmd
(Windows), umappConfig
im classpath durch Einstellung%DOMAIN_HOME%\config\appConfig
als Wert zuEXT_POST_CLASSPATH
(diese variable ist bereits definiert, in dersetDomainEnv.cmd
- Datei) die variable wie folgt:Können Sie zugreifen, die Datei, die Sie in java-code wie folgt:
Hoffe, das hilft.
Ansatz #2
Verwenden Sie Weblogic shared library
http://download.oracle.com/docs/cd/E12840_01/wls/docs103/programming/libraries.html
Folgen Sie den nachstehenden Schritten
Wenn du sagst "ich lese eine Reihe von Artikeln auf der Website, aber ich möchte nicht zu hart-code der Pfad zu der Datei mit den Eigenschaften" ich nehme an, Sie sagen, Sie wollen nicht zu hart-code in Ihre Java-code. Wenn das so ist, dann bitte siehe unten
Hier beantwortet:
Gibt es Möglichkeiten zum Lesen von properties Datei in Java von weblogic-classpath
Einer Properties-Datei befindet sich in der weblogic-Domäne): legen Sie die Eigenschaften der Datei im Domain-Verzeichnis. Auf diese Weise die Eigenschaften der Datei zum weblogic-Klassenpfad automatisch und wir Lesen von Java mit resourceAsStream.
Zwei (Eigenschaften Datei von einem benutzerdefinierten Ort):Der Vorteil bei diesem Ansatz ist, dass der property-Datei können, die Ihren Wohnsitz außerhalb der JAR-oder EAR-Datei und kann geändert werden bequem.
In der weblogic setDomainEnv(unter Ablage) wir müssen übergibt den Pfad der property-Datei als -D-argument zu JAVA_OPTIONS
set JAVA_OPTIONS=%JAVA_OPTIONS% -DpropFileLocation =/dev/Datei/Eigenschaften/einige.Eigenschaften
Hoffe, es hilft!
Ansatz #1
Aktualisieren Sie Ihr server-Startskript, um unter system-variable JVM (unten ist ein Beispiel der auf Windows OS)
Mithilfe dieser Variablen, die Punkte auf Ihrem Konfigurations-Verzeichnisse, Lesen Konfigurationen von dort. Sie müssen diese Einstellung auf jedem server, wo Sie wollen, um die Anwendung bereitzustellen.