我正在尝试使用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)调用。我做错了什么?
https://stackoverflow.com/questions/37475487
复制相似问题