Я пытаюсь использовать immutant для управления транзакциями через HornetQ и mysql. Насколько я понимаю документы, для этого я должен использовать транзакции XA, потому что я запускаю отдельное приложение, а не внутри сервера приложений.
Однако, когда я пытаюсь установить :xa? для контекста моего приложения я получаю исключения при настройке прослушивателя.
(ns example
(:require [immutant.messaging :as msg]))
(def capture (atom nil))
(let [ctx (msg/context :host "localhost" :xa? true)
queue (msg/queue "example" :context ctx)]
(reset! capture nil)
(msg/listen queue (fn [m] (reset! capture m)))
(msg/publish queue {:my :msg}))
Это выдает «java.lang.IllegalStateException: вы не можете создать дочерний контекст из контекста XA». из вызова (msg/listen). Что я делаю не так?