ActiveMQ文檔指出Session和MessageProducer對象不是線程安全的。如果我有一組線程可以產生持久性消息,那麼如何正確地將它們發送到ActiveMQ,以瞭解特定的發送操作是否成功?正確的ActiveMQ生產者併發性
- 爲每個工作線程都有一個單獨的Session/MessageProducer。
- 創建顯式的生產者線程集並通過BlockingQueue將消息傳遞給它們(如何確定發送是否成功?)。
- 使用未來<>爲前一種情況在ActiveMQ中獲得持久消息的成功狀態。
- 只需將每個MessageProducer.sendMessage()調用包裝在同步塊中即可。
或者,也許有這種情況下的任何最佳做法。謝謝。