2015-07-23 1 views
0

В настоящее время у нас есть кластерная настройка Weblogic для нескольких частей нашего приложения, чтобы достичь обычных гарантий в балансировке нагрузки, сбое и т. Д. Недавно мы добавили сервис singleton, реализующий weblogic.cluster ... SingletonService, который выполняет задание, для которого он предназначен, но, похоже, это не то, что нам нужно. В текущей установке есть несколько кластеров в том же домене, что и для доступа к службе singleton, но похоже, что это не работает.Могу ли я создать службу Singleton для всей сети в Weblogic?

Как мы можем настроить однопользовательскую службу в домене, то есть для нескольких кластеров одновременно?

Тест на соответствие: наше наблюдение, что Weblogic SingletonService не может использоваться в домене правильно?

ответ

1

В документации говорится

«одноплодной это служба работает на управляемом сервере, который доступен только на одного члена кластера в то время»

да так, ваш тест на здравомыслие в порядке.

В WebLogic нет ни одной функциональности Singleton для всей сети. Я могу представить себе некоторые обходные пути:

  • Использование JMX для проверки, какие сервера запущены, извлекая имя сервера из свойств системы и запуска вашей логики, только если первые работает управляемое имя сервера и текущие матчи имени сервера.

  • Настройка кластера Coherence для домена и сравнение локального члена с самым старым членом кластера и использование этого, чтобы решить, какой сервер является лидером, и запускает вашу логику.

  • Настройка некоторой ужасной логики семафора с использованием дерева JNDI, которое является ресурсом домена.

Смежные вопросы