2013-12-13 59 views
0

有沒有人在使用Trinidad時實現了Java庫(甚至編譯的Java類)的熱部署?使用Trinidad(JRuby和RoR 3)時從lib目錄中重新加載jar

我的Rails應用程序在Trinidad上運行,並且依賴於在my-rails/lib/java下打包許多罐子的Java後端。當其中一個罐子發生變化時,Trinidad服務器不會重新加載它。 touch tmp/restart.txt只重新加載應用上下文。

請注意,我的問題與config.autoload_paths無關,因爲據我所知這個選項只用於重新加載Ruby文件。


修訂
我沒能達到我的Java依賴的熱部署和放棄。對我來說唯一的幫助是我每次在本地啓動的單元測試來檢查我的代碼。

回答

1

我認爲如果.jar沒有得到重載比它可能是一個特立尼達bug(因爲在上下文重啓的時候應該重新添加瓶子 - 假設Tomcat默認這樣做 - 我不確定)...會很高興知道細節(在特立尼達的追蹤器)例如如果jar被命名爲相同,配置如何(如果有的話)如何。

另一種選擇是嘗試滾動重啓,因爲它會創建一個全新的上下文 - 因此它應該從文件系統中獲取任何上下文依賴的內容。

請注意,自動重新加載文件的變化,如更改.jar文件,即使可能在特立尼達島上禁用Tomcat - 您需要「明確」(touch ...)以請求重新啓動。

+0

感謝您的時間,但我寫道,顯式'touch tmp/restart.txt'沒有幫助。 –

+1

我主要是建議嘗試滾動重新啓動,而不是默認的'reload_strategy:'......目前還不清楚是否已經嘗試過。無論如何,你應該報告這一點,如果你還有一個簡單的應用程序來重現,這將是非常有用的。謝謝 – kares

相關問題