jakarta-ee - 如何在 Wildfly 的 Qpid 6.1.7 资源适配器中禁用 XA
问题描述
我正在尝试使用 Qpid-6.1.7 资源适配器连接到 RabbitMQ。将建立连接,但我收到 java.lang.UnsupportedOperationException: 0_8 版本不提供 XA 支持
堆栈跟踪:
15:36:14,830 ERROR [org.apache.qpid.ra.inflow.QpidExceptionHandler] (Thread-66)[,] Unable to reconnect org.apache.qpid.ra.inflow.QpidActivationSpec(ra=org.apache.qpid.ra.QpidResourceAdapter@15fef9c0 destination=jboss/exported/queue/mail destinationType=javax.jms.Queue
ack=Auto-acknowledge durable=false clientID=null user=null maxSession=15 connectionPerHandler=false): java.lang.UnsupportedOperationException: 0_8 version does not provide XA support
at org.apache.qpid.client.AMQConnectionDelegate_8_0.createXASession(AMQConnectionDelegate_8_0.java:243)
at org.apache.qpid.client.AMQConnectionDelegate_8_0.createXASession(AMQConnectionDelegate_8_0.java:326)
at org.apache.qpid.client.XAConnectionImpl.createXASession(XAConnectionImpl.java:56)
at org.apache.qpid.ra.QpidResourceAdapter.createXASession(QpidResourceAdapter.java:573)
at org.apache.qpid.ra.inflow.QpidMessageHandler.setup(QpidMessageHandler.java:101)
at org.apache.qpid.ra.inflow.QpidMessageHandler.start(QpidMessageHandler.java:273)
at org.apache.qpid.ra.inflow.QpidActivation.setup(QpidActivation.java:122)
at org.apache.qpid.ra.inflow.QpidExceptionHandler.handleFailure(QpidExceptionHandler.java:168)
at org.apache.qpid.ra.inflow.QpidActivation$SetupActivation.run(QpidActivation.java:207)
at java.lang.Thread.run(Thread.java:748)
我已将 Qpid-Ra 属性设置为使用 LocalTransaction,但服务器仍会抛出此错误。
独立的.xml:
<resource-adapters>
<resource-adapter id="qpid">
<archive>qpid-ra-6.1.7.rar</archive>
<transaction-support>LocalTransaction</transaction-support>
<config-property name="TransactionManagerLocatorClass">org.apache.qpid.ra.tm.JBoss7TransactionManagerLocator</config-property>
<config-property name="TransactionManagerLocatorMethod">getTm</config-property>
<config-property name="UseLocalTx">true</config-property>
<config-property name="ConnectionURL">amqp://guest:guest@clientid/?brokerlist='tcp://localhost:5672?sasl_mechs='PLAIN''</config-property>
<connection-definitions>
<connection-definition class-name="org.apache.qpid.ra.QpidRAManagedConnectionFactory" jndi-name="qpid-ra" pool-name="qpid-ra">
<config-property name="SessionDefaultType">javax.jms.Queue</config-property>
</connection-definition>
</connection-definitions>
<admin-objects>
<admin-object class-name="org.apache.qpid.ra.admin.QpidQueueImpl" jndi-name="java:jboss/exported/queue/mail" use-java-context="true" pool-name="mail">
<config-property name="DestinationAddress">queue/mail</config-property>
</admin-object>
</admin-objects>
</resource-adapter>
</resource-adapters>
到目前为止,我很困惑为什么 LocalTX 属性在这种情况下没有帮助。
解决方案
推荐阅读
- python - `pandas.DataFrame.groupby` 的非聚合更新
- python - spacy 中的 en_coref_lg 模型
- c# - 我可以在 dot net core 控制台应用程序中使用 BackgroundService
- python - 如果在 Django 中不可用,如何在下拉列表中显示类别并隐藏?
- linux - Bash 脚本和范围 - 我的脚本内容似乎不会影响我的文件系统?
- javascript - CSS Switchbox滑块(复选框)在ajax刷新时动画双倍
- python - cx_freeze 遇到问题
- c# - 当前应用程序配置不支持 WebSockets
- r - 如何在R中的变量中组合级别
- c# - TreeViewItem 事件通过父母冒泡