2017-11-07 3 views
1

In meiner /src/main/resources/application.conf Datei, ich überschreiben die Werte der Cassandra Host wie:Akka Persistenz: Kann nicht lesen Cassandra config application.conf

cassandra-journal { 
    contact-points = [${?CASSANDRA_HOST}] 
} 

Wenn ich es mit IntelliJ laufen, ist es, sie zu lesen fein. Aber wenn ich das jar erzeuge und es in einem Docker-Container laufe, ist der Wert CASSANDRA_HOST immer 127.0.0.1 und der Port ist 9042. Ich habe sogar versucht, verschiedene Werte fest zu codieren, aber es scheint, dass es die application.conf Datei nicht liest.

(Ich verwende sbt assembly die .jar-Datei zu erstellen.)

+0

Können Sie etwas mehr Kontext geben? Wie der Code, in dem Sie die Konfiguration lesen, die Art, wie Sie das Programm in Intellij starten, so wie Sie es im Jar usw. tun. – Pedro

+0

Können Sie die .jar öffnen (es ist 'nur' eine Zip-Datei) und schauen was die mitgelieferte 'application.conf' sieht aus wie? Fehlt es, hat es den falschen Inhalt (eine andere 'application.conf'?), Oder hat es vielleicht eine Kombination von 2' application.conf'-Dateien, aber eine von ihnen hat kein nachstehendes '\ n', das ungültig macht der Nächste? –

Antwort

0

Sie die Hosts wie folgt konfigurieren:

cassandra-journal.contact-points.0 = "127.0.0.1" 
cassandra-journal.contact-points.0 = ${?CASSANDRA_HOST_0} 
cassandra-journal.contact-points += ${?CASSANDRA_HOST_1} 
cassandra-journal.contact-points += ${?CASSANDRA_HOST_2} 

Dann wird der Standard "127.0.0.1" sein, das wird überschrieben werden, wenn sie von der Umgebungsvariablen bereitgestellt werden.

Verwandte Themen