Mit Eigenschaften in web.xml
Ich möchte, um die Einstellungen in web.xml und über verschiedene, einmal für unterschiedliche Umgebungen.
Ist es möglich, eine Eigenschaft, aus einer property-Datei auf dem Klassenpfad, in web.xml? So etwas wie dieses:
<context-param>
<param-name>myparam</param-name>
<param-value>classpath:mypropertyfile.properties['myproperty']</param-value>
</context-param>
Beste Grüße
P
- hier ist die Lösung: stackoverflow.com/questions/12099008/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht. Allerdings können Sie geben die Eigenschaften der Datei und Lesen aus dem es zur Laufzeit.
Ist es dann trivial, laden Sie die Eigenschaft zur Laufzeit haben Sie Zugriff auf das servlet.
AFAIK
context-param
undenv-entry
beide halten statische Werte. Sie erhalten nicht die Laufzeit (dynamisch) Wert aus der property-Datei.Es werden wie:
Jede änderung des Wertes muss eine Umschichtung der web app.
In deinem Beispiel, der Wert, den Sie abrufen, wäre der String
classpath:mypropertyfile.properties['myproperty']
Wenn Sie Glassfish aktualisieren können Sie es on the fly von der Kommandozeile http://javahowto.blogspot.com/2010/04/glassfish-set-web-env-entry.html
Wenn ich verstehe dein Anforderung ist bei build-Zeit (ich.e Krieg ist für verschiedene env) und nicht während der Laufzeit?
Könnten Sie ersetzen die Werte in web.xml als Teil der ant/maven-build-Prozess.
Wenn Sie mit verschiedenen Umgebungen, die es sehr wahrscheinlich, dass Sie nicht den Wechsel von einem zum anderen zur Laufzeit, also ohne die Verwendung einer properties-Datei.
Wenn mit maven, definieren Sie unterschiedliche profile für Ihre Umgebungen, und setzen Sie den parameter, den Sie ändern möchten, in jedem Profil.
In Ihrem pom.xml
In Ihrem web.xml
Und Filterung konfigurieren in Ihrem deployment descriptor in maven-Krieg-plugin