Назад | Перейти на главную страницу

Кластерный обмен сообщениями JBoss, восстановление XA: JMSSecurityException

Я пытаюсь настроить кластерный обмен jboss-сообщениями с XA-восстановлением на базовой некластеризованной конфигурации сервера по умолчанию (мы только требуется кластерный обмен сообщениями, остальное - без сохранения состояния с переключением при отказе) на JBoss EAP 4.3 (CP04).

Когда я добавляю 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

Та же самая конфигурация работает как шарм в производственной конфигурации (обновление: больше не актуально, см. Ниже)

Кто-нибудь делал это раньше? Есть идеи, что я делаю не так?

Обновить:

Ошибка зависит от того, какой источник данных я использую (DefaultDS или MyOwnDS) в конфигурации обмена сообщениями (* -presistence-service.xml). Я пробовал следующие сценарии:

  1. DefaultDS / HSQLDB: работает (конечно, это стандартная конфигурация ... но кто хочет использовать эту конфигурацию в производстве?)
  2. DefaultDS / MySQL: работает (это приемлемый способ решения проблемы)
  3. MyOwnDS / MySQL: НЕ работает

Не может быть, что обмен сообщениями зависит от источника данных с именем «DefaultDS», поэтому я предполагаю, что есть некоторая конфигурация, связанная с DefaultDS, которая пропадает, когда я использую свой собственный DS. Но я не могу понять, что ...

В файле login-config.xml есть запись (HsqlDbRealm), в которой используется DefaultDS, но не похоже, что она используется для обмена сообщениями?

Что мне не хватает?

Источник данных, используемый для аутентификации, указан в messaging-jboss-beans.xml.