2017-08-01 157 views
1

我想在亞馬遜服務器上多次運行一個war文件,每次都有一些稍微不同的屬性,例如服務器端口或數據庫模式。現在我必須爲每個案例重建......也就是說,我怎樣才能在運行時將彈簧引導屬性文件提供給jgster生成的war文件?如何運行多個實例具有不同配置值的相同jijster war文件的相同角色

編輯澄清:

所有我想要的是能夠通過指定參數(端口,數據庫名,...)在運行時運行相同的戰爭文件的兩個或多個拷貝。 實例應該在亞馬遜系統(Linux)上運行 它們在啓動時由/etc/init.d中的服務腳本啓動,該腳本也用於在軟件模塊/參數更改的情況下啓動和停止。 現在,使用JHipster開發的應用程序只能讀取通過Maven傳播的JHipster流構建的文件(使用-prod配置文件) - 使用單獨的屬性文件不起作用,不會讀取 - 使用 - D結果相同:未讀取

有沒有人有任何建議?使用-D

--server.port=8081 

或添加參數:它看起來像JHipster有自己的財產讀者...

+0

你讀過https://開頭做cs.spring.io/spring-boot/docs/current/reference/html/howto-properties-and-configuration.html#howto-externalize-configuration? –

+0

我做了,試了一下,它也沒有工作......我懷疑,與jgster設置停止閱讀其他文件或-D設置 –

+0

請添加細節到你的問題,如你如何啓動應用程序?你在哪裏存儲相對於jar的外部配置以及如何命名jar?它只會在亞馬遜或本地故障嗎?你如何設置活動配置文件? –

回答

0

要開始不同的端口上的應用程序,你應該附加參數啓動它

-Dspring.datasource.url=whatever.you.want 

,或者當您需要多個參數:

-Dserver.port=10000 -Dspring.datasource.url=whatever.you.want 
+0

我試過這個,但是jvm沒有把值傳給spring boot/jhipster,因爲它抱怨server.port沒有任何值。嘗試與網址以及相同的問題。它可能是jhipster通過-D或補充文件只讀取1個文件而沒有其他信息? –

+0

@EricVanHemelryck配置文件呢?順便說一句,忘了JHipster - 這是一個很棒的工具,你用它來生成很酷的應用程序。現在它只是彈簧啓動+角度:) – xenteros

+0

我用jijster提供的配置文件:dev和prod。所以,在war文件中,我有一個application-prod.yml文件,其中包含yaml格式的很多屬性,但對於不同的實例,某些屬性需要更改。我的印象是單獨讀取.yml文件... –

相關問題