我有一個邊緣案例,儘管它是一個非常客戶可見的案例,Tomcat在所有依賴關係正確加載之前開始處理請求,以便在下面運行的Ruby on Rails堆棧JRuby的。Tomcat在應用程序完全加載之前正在處理對JRuby on Rails應用程序的請求
一旦Tomcat啓動,有類似於下面發生什麼:
undefined method `utc_offset' for nil:NilClass
[RAILS_ROOT]/gems/gems/activesupport-2.3.8/lib/active_support/values/time_zone.rb:206:in `<=>'
這種情況發生在下面的代碼是對我服務的一個調用:
@timezones = ActiveSupport::TimeZone.all
如果等待幾秒鐘後刷新請求頁面,它不會加載任何問題。
有沒有一種方法可以確保Tomcat在加載整個堆棧,ActiveSupport,ActiveRecord等之前不會開始處理這些請求?有沒有人遇到類似的症狀?
嗨,尼克。我將繼續並按照您的建議打開一個錯誤。我確實使用Tomcat作爲我的應用程序服務器。我們明確地要求environment.rb中的active_support,並且這仍然會發生。獨立的應用程序可能是可能的,但很難複製。這是一個巨大的應用程序(可能是其中一個較大的JRuby應用程序)。我希望能夠通過更多信息與您離線聯繫,如果我們找到答案,最終回到這裏來發布答案。 – randombits 2010-11-10 14:50:38