Wie man eine Systemeigenschaft mit Wrapper.exe passieren
-
05-07-2019 - |
Frage
Wie gebe ich eine Immobilie an einen Java-Prozess begann als Windows-Dienst mit Wrapper.exe?
Der Zielcode aufruft:
System.getProperty("ADMIN_USERNAME");
Lösung
http://wrapper.tanukisoftware.org/doc/ Englisch / prop-java-Zusatz n.html
Sie können „zusätzliche Parameter“ eingestellt, die auf die JVM gehen (im Gegensatz zu Ihrer Hauptklasse gegen) und -DADMIN_USERNAME = gandalf soll dort arbeiten.
wrapper.java.additional.1=-Xrs
wrapper.java.additional.2=-Dprop=TRUE
wrapper.java.additional.3=-DADMIN_USERNAME=gandalf
Update: Sie müssen beginnen mit additional.1 und lückenlos zusammenzählen (Dies ist eine Konvention für Schuh-Horning Listen in Java Eigenschaften Syntax)
Andere Tipps
Sie können bestimmte Eigenschaften in der Wrapper-Konfigurationsdatei festgelegt, siehe diesen Link:
http://wrapper.tanukisoftware.org/doc/english/properties.html
Ich glaube, Sie können auch die Wrapper konfigurieren Java bis zur Inbetriebnahme und weitere Eigenschaften mit Hilfe der Java „-Dproperty = Wert“ Syntax
übergebenDies ist ein Schuss im Dunkeln, aber haben Sie darüber nachgedacht, JMX mit dem Dienst zu kommunizieren? Oder ist das viel des Guten für das, was Sie brauchen?
Yuval = 8 -)
@ Thilo Antwort ist richtig, aber ich glaube, ich muss hinzufügen, dass Sie kümmern müssen für JAVA_OPTS Umgebungsvariable. Viele Menschen / Server neigen dazu, es zu verwenden (z: Remote-Debugging), wie alles, was Sie setzen in JAVA_OPTS als JVM-Argumente auf jede neue JVM übergeben wird. Wenn Sie diese Umgebungsvariable dann jede wrapper.java.additional.<n>
gesetzt haben wird ignoriert . Ich fand, dass auf dem harten Weg :)