Was ist die beste Praxis für die Einstellung der java-system-properties, -D oder-System.setProperty()?

Ich brauche, um die codebase für das RMI-Anwendung arbeite ich im moment und haben dies erfolgreich unter Verwendung der ersten

try{
  ResourceBundle config = ResourceBundle.getBundle("myApp");
  String codeBaseUrl = config.getString("codeBaseUrl");
  System.setProperty("java.rmi.server.codebase", codeBaseUrl);
} catch (Exception e) {
  e.printStackTrace();
}

und später mit

java -Djava.rmi.server.codebase=http://192.168.1.1/path/to/codebase ...

in der Befehlszeile.

Diese beiden Ansätze erlauben, die Codebasis geändert werden, ohne neu kompilieren zu müssen, sondern das System.setProperty Ansatz ermöglicht codebase zu sein, bunlded in einer properties-Datei und aus der gleichen Start-Befehl verwendet werden.

Meisten Lehrbücher/Unterlagen, die ich gelesen habe nutzt dieser die-D-Ansatz führt mich zu glauben, dass dies akzeptiert wird als die beste Praxis, aber ich habe nicht in der Lage, etwas zu finden, das erklärt, WARUM ich das verwenden sollte, über die andere.

Ist -D als best practice gilt für die Einstellung von Systemeigenschaften wie codebase, und welche Vorteile bietet diese geben /welche Fallstricke gilt es zu vermeiden?

InformationsquelleAutor TaninDirect | 2012-09-27
Schreibe einen Kommentar