我有一個使用的JRuby/Rails應用程序:ESB在JRuby中的延遲加載Rails應用程序
jruby 1.4.0
Rails 2.3.5
ActiveMQ 5.3.0
Mule ESB 2.2.1
目前在我們的environment.rb文件中,我們在初始化啓動騾子。當我們去做一些不需要JMS/Mule的普通rake任務(比如db:migrate)時,這會變成一個很大的麻煩,因爲每次啓動/關閉Mule需要很長時間。
的代碼與此類似:
APP_CONTEXT = Java::our.company.package.service_clients.Initializer.getAppContext(MULE_CONFIG_PATH)
我們用APP_CONTEXT
來獲取bean來連接到相應的服務。
我試圖找出一些機制,通過它可以懶惰地實例化(不在初始化)APP_CONTEXT,以避免所有的啓動Mule初始化的痛苦。
目前我們有幾個ruby客戶端類在application_controller中實例化爲一個before_filter,如@data_service = DataService.new(APP_CONTEXT)
,它們爲我們的控制器中的每個請求初始化正確的java客戶端。
我接受所有建議。我很難找到放置這個懶惰實例的合適位置。