Отключение оптимизации балансировки нагрузки Weblogic для совместно расположенных объектов - PullRequest
5 голосов
/ 30 сентября 2008

Есть ли способ отключить оптимизацию для размещенных объектов , которую Weblogic использует по умолчанию для определенного EJB?

РЕДАКТИРОВАТЬ: Некоторый контекст:

У нас есть служба планировщика, которая работает внутри одного узла кластера. Это по историческим причинам и в настоящее время не может быть изменено.

Эта служба выполняет вызовы в EJB, и мы хотели бы сбалансировать загрузку этих вызовов. К сожалению, на данный момент все вызовы выполняются на узле, на котором размещается служба планировщика, из-за оптимизации, упомянутой в вопросе.

Я думал о кодировании пользовательского класса балансировки нагрузки, однако, похоже, что эта оптимизация была выполнена до того, как произойдет шаг балансировки нагрузки.

Ответы [ 4 ]

1 голос
/ 26 февраля 2009

Предположим, что вы пытаетесь вызвать удаленный EJB (балансировка нагрузки на локальные ejbs может быть получена только с помощью трюка с перенаправлением, как упоминал Патрик), вам придется создать новый InitialContext, используя адрес кластера вместо определенного сервера. Эта новая микросхема обеспечит заглушки, как если бы вы были иностранным клиентом, при условии соблюдения тех же стратегий балансировки нагрузки.

К сожалению, это означает, что инъекции EJB3 не будут работать. Вы должны будете сделать поиск самостоятельно. Есть вероятность, что это чистое предположение, что эти заглушки, которые вы можете получить из кластерной ИС, являются сериализуемыми. Другими словами, может быть возможно связать их и затем ввести их, используя @Resource.

0 голосов
/ 12 февраля 2019

Я случайно наткнулся на этот старый вопрос.

Возможно ли создание очереди JMS между планировщиком и фактическим исполнителем? Поскольку все управляемые серверы будут использовать одну и ту же очередь, эта очередь будет выполнять функцию балансировки нагрузки.

Если вы решили эту проблему по-другому, мне было бы интересно узнать, как:)

0 голосов
/ 26 октября 2008

Сколько узлов в вашем кластере? Рассматривали ли вы развертывание EJB на узлах, отличных от того, на котором развернута служба планировщика?

0 голосов
/ 21 октября 2008

Не слишком разбираясь в интуиции weblogic, но читая их материалы, я бы сказал, что вы не сможете, без некоторой хитрости.

Тем не менее, кажется, что вы можете поместить фасад JMS (MDB) перед вашим EJB, который не соблюдает оптимизацию совместного размещения объектов.

OR

Если ваш планировщик основан на сервлетах, вы сможете развернуть его в отдельном веб-приложении внутри контейнера и заставить его выполнять вызовы в EJB-кластер.

...