Я пытаюсь использовать activemq в Glassfish, используя адаптер ресурсов genericra, поставляемый с Glassfish 2.1. Я нашел несколько страниц с полезной информацией, включая http://activemq.apache.org/sjsas-with-genericjmsra.html.
На самом деле я добился успеха и смог заставить MDB использовать activemq в качестве своего поставщика JMS, но я столкнулся с проблемой, когда пытаюсь выполнить более сложную настройку. Я хочу настроить конфигурацию ведущий-ведомый, которая потребует от моих клиентов использовать URL-адрес брокера для отработки отказа: (tcp://broker1:61616, tcp://broker2:61616). Для этого я установил следующее свойство при вызове asadmin create-resource-adapter-config
(мне нужно экранировать '=' и ':'):
ConnectionFactoryProperties=brokerURL\=failover\:(tcp\://127.0.0.1\:61616,tcp\://127.0.0.1\:61617)
Однако теперь я получаю исключение StringIndexOutOfBoundsException при запуске моего приложения. Я подозреваю, что запятая между двумя URL-адресами является виновником, так как это работает нормально:
brokerURL\=failover\:(tcp\://127.0.0.1\:61616)
Просто интересно, сталкивался ли кто-нибудь с этой проблемой раньше. Также интересно, есть ли лучший способ интеграции с Glassfish, чем использование универсального адаптера ресурсов.
РЕДАКТИРОВАТЬ: я забыл убрать двоеточие после второго tcp, но, к сожалению, это не решило проблему, которую я вижу.