從這樣的工作,我做:從@OnApplicationStart作業啓動作業可以嗎?
@OnApplicationStart
public class Bootstrap extends Job {
Foo foo = new Job<Foo>() {
...
return new Foo();
}.now().get();
}
而且我發現內部工作永遠不會執行,將應用程序死鎖,因爲它在get()
塊。
我在開發模式下運行Play 1.2.4。這項工作被提交到JobsPlugins.executor
,它被初始化爲10個線程 - 綽綽有餘。我嘗試在Job.now()
內的Callable中放置一個斷點 - 該斷點從未被擊中。
爲什麼你有一個作業中作業的執行順序?爲什麼不用@onapplicationstart註釋兩個作業 – Codemwnci 2011-12-19 11:41:24
@Codemwnci - 我試圖重用一段已經寫成作業並在別處使用的代碼。作爲一種解決方法,我將普通邏輯提取到了常規方法而不是作業,所以我得到了這個工作 - 但是,我想知道是否支持從另一個作業(特別是在啓動時)調用作業,或者如果不支持, 爲什麼不。 – ripper234 2011-12-19 11:56:16