Jboss
集群 JBoss 消息傳遞、XA 恢復:JMSSecurityException
我正在嘗試在 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 中指定。