Я использую обмен сообщениями JBOSS следующим образом:
1) Два экземпляра JBOSS, использующие конфигурацию «all» (т. Е. Кластерную конфигурацию)
2) Одна реплицированная очередь, созданная в каждом экземпляре JBOSSс одним и тем же именем JNDI (cluster = true)
3) один производитель локально присоединяется к очереди в каждом экземпляре (т. е. оба производителя на обоих узлах продолжают добавлять сообщения в эту реплицированную очередь)
4) Один экземпляр JBOSS помечается как «потребительский узел», а потребитель очереди сообщений запускается только на этом узле (т. Е. Сообщения будут использоваться только на одном узле).Существует логика, которая решает, какой экземпляр JBOSS будет помечен как «потребительский узел»
5) Используемый PostOffice кластеризован
6) равноправный сервер настроен так, чтобы не применять последовательность сообщений.
7) созданные сообщения непостоянны (deliveryMode = NON_PERSISTENT)
Но я столкнулся с проблемой в этом.Сообщения, созданные на «узле не потребителя», не реплицируются в очередь на «узле потребителя» и, следовательно, недоступны для потребления.
Я включил ведение журнала и проверил, что почтовое отделение находит две очереди, но доставляет только влокальная очередь, поскольку она обнаруживает, что удаленная очередь подлежит восстановлению.
Есть идеи, как настроить ее работу?
К вашему сведению: я считаю, что сообщение может быть доставлено только в одну очередь (локальную или удаленную),Итак, я хочу только одну очередь, которая распределена, но в настоящее время я получаю 2 разные распределенные очереди (однако их имя JNDI одинаково).Это проблема?Если да, как это решить?Weblogic предоставляет возможность создания очереди на административном сервере, и, таким образом, возможна общая очередь.Каков подобный механизм в обмене сообщениями JBOSS?Или мне нужно подойти к этой проблеме как 2 очереди, которые синхронизированы.Если да, то как добиться синхронизации между ними?
Спасибо, что нашли время, чтобы помочь мне !!
С уважением