Un'altra opzione, se si dispone di distribuzioni automatizzate o CI, consiste nell'inserire gli argomenti in fase di compilazione con maven (o simili) e proprietà. Immagino che sia un po 'più ottimizzato in quanto non devi leggere un file da S3?
Per esempio si può avere config/env1/app.properties
e config/env2/app.properties
L'con Maven di creare profili che caricano la rispettiva configurazione simile:
...
<profiles>
<profile>
<id>env1</id>
<build>
<resources>
<resource>
<directory>config/env1</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
</profile>
<profile>
<id>env2</id>
<build>
<resources>
<resource>
<directory>config/env2</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
</profile>
</profiles>
...
Nel codice di leggere gli oggetti di scena come al solito props.load(ClassLoader.getSystemResourceAsStream("app.properties"));
In la tua automazione puoi creare mvn install -P en1
per far distribuire il tuo Jar.
fonte
2017-04-26 20:29:21
Memorizzare questi parametri in S3 è un'idea geniale. Mi chiedo perché non mi è venuto in mente :-) Grazie. – sengbatz