2
在我的playframework應用程序中(我很新玩),我希望能夠處理從將要發佈到AMQP交換的領域模型中產生的事件。我認爲這可能是一個多線程後臺事件處理程序,它處理事件並處理與消息代理的連接。我曾看過喬布斯類,但看不到指定任何類型的線程池的方法。有沒有人有什麼建議?Playframework with thread-pool for background job
最佳,
喬恩
在我的playframework應用程序中(我很新玩),我希望能夠處理從將要發佈到AMQP交換的領域模型中產生的事件。我認爲這可能是一個多線程後臺事件處理程序,它處理事件並處理與消息代理的連接。我曾看過喬布斯類,但看不到指定任何類型的線程池的方法。有沒有人有什麼建議?Playframework with thread-pool for background job
最佳,
喬恩
線程池是由播放管理,而不是應用程序。你需要做的僅僅是創建一個作業類,並安排它運行:
@On("cron.handleAMQP")
public class MyAMQPHandler extends play.jobs.Job{
public void doJob() {
// your logic to handle AMQP message comes here
}
}
其中「cron.handleAMQP」可能是你application.conf一個項目:
cron.handleAMQP=0 0 12 * * ?
從來沒有意識到你可以從configh中取出cron設置:** cron。**很棒的提示,tx – emt14 2012-02-04 10:56:31
@green謝謝你。我現在已經在application.conf中看到了play.jobs.pool屬性。我現在正在執行新的EventHandler(Event).now()以立即獲取其中一個線程來處理事件。 – jdh 2012-02-04 22:30:44
@jdh,是的,你可以做到這一點。我建議保留該遊戲的池設置的默認配置。默認情況下,它將是prod模式下的cpu-cores + 1的數量,而在dev模式下則爲1 – 2012-02-05 00:07:33