我正在尝试在 JBoss EAP 4.3 (CP04)上的基本非集群默认服务器配置(我们只想要集群消息传递,其余是无状态的仅故障转移)上设置集群 jboss-messaging 和 XA-recovery。
当我添加 XA-recovery 时,我在日志中收到以下错误:
09:05:07,558 ERROR [ExceptionUtil] ConnectionFactoryEndpoint[jboss.messaging.connectionfactory:service=ConnectionFactory] createFailoverConnectionDelegate [s-ar10uuuf-1-k1eztuuf-z44sla-t6avs4]
javax.jms.JMSSecurityException: User null is NOT authenticated
[... stacktrace removed for readablity ...]
09:05:07,559 ERROR [MessagingXAResourceWrapper] ********************************Failed to connect to server
javax.jms.JMSSecurityException: User null is NOT authenticated
看起来我缺少一些安全配置 - 但我不知道在哪里。
我已经两次和三次检查了我的配置是否有错误,并且我正在使用以下文档:
http://www.redhat.com/docs/manuals/jboss/jboss-eap-4.3/doc/messaging/JBoss_Messaging_User_Guide/html/recovery.html
相同的配置在生产配置中就像一个魅力(更新:不再是真的,见下文)
有没有人这样做过?有什么想法我做错了吗?
更新:
该错误取决于我在消息传递配置 (*-presistence-service.xml) 中使用的数据源(DefaultDS 与 MyOwnDS)。我尝试了以下场景:
- DefaultDS/HSQLDB:有效(当然这是标准配置......但谁想在生产中使用这个配置?)
- DefaultDS/MySQL:有效(这是一个可接受的解决方法)
- MyOwnDS/MySQL:不工作
消息传递不可能取决于名为“DefaultDS”的数据源,所以我猜想当我使用自己的 DS 时,一些与 DefaultDS 相关的配置会丢失。但我想不通是什么...
login-config.xml 中有一个条目(HsqlDbRealm)使用“DefaultDS”,但它看起来不像是消息传递使用的?
我错过了什么?
用于身份验证的数据源在messaging-jboss-beans.xml 中指定。