我正在部署使用Play編寫的應用程序!框架1.2.3的Heroku(雪松堆棧),我通過解析application.conf時無法讀Heroku config vars
heroku config:add DB_NAME="FOO"
這些設置OK(通過Heroku的配置--app應用程序的名字所示)設置一些環境變量。這些是從代碼通過雙方通過
morphia.db.name=${DB_NAME}
機制閱讀application.conf時播放()完成手動調用System.getenv和替代閱讀。這種策略在本地運行良好,但在heroku上環境變量看起來沒有被讀取,並且對heroku的推動失敗,因爲它不能取代變量。玩的警告是:
WARNING: Cannot replace DB_NAME in configuration (morphia.db.name=${DB_NAME})
它死了,因爲它無法連接到數據庫,這是一個致命的錯誤。它還將錯誤報告爲嘗試連接到$ {HOST}:$ {PORT},因此在此處不執行替換。我在這裏錯過了些什麼,或者這對於Play來說根本不起作用!目前在heroku上的應用程序?這應該怎麼做?
發現錯誤,結合你上面說的是:預編譯步驟在編譯時運行,無需訪問config vars,通過play-morphia模塊(mongodb + morphia)啓動到mongodb的連接。這會導致致命錯誤,並且推送被拒絕。我認爲這更多的是morphia或play-morphia的bug,並會進一步調查並提出錯誤。它不應該在編譯時連接到數據庫。 –