Я пытаюсь использовать immutant для управления транзакциями через HornetQ и mysql. Поскольку я понимаю документы, для этого я должен использовать транзакции XA, потому что я запускаю автономное приложение, а не на сервере приложений.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). Что я делаю не так?
Hi. Поэтому, поскольку я вижу параметр: host, я предполагаю, что вы пытаетесь подключиться к экземпляру HornetQ в отдельной JVM: можете ли вы рассказать мне об этой JVM? В частности, какая версия HornetQ работает? Кроме того, какая версия Immutant? Благодаря! – jcrossley3