2009-09-15 8 views
2

У меня два профиля на моей машине, и в одном профиле я развернул EJB, который можно найти с POJO в другом профиле. Но профиль, из которого я выполняю поиск, заканчивает выполнение поиска в своем собственном узле. Если я разворачиваю это приложение на двух разных машинах, я могу выполнить поиск. Кто-то сказал мне, что создание имени виртуальной машины в WAS поможет, но я не знаю, как его использовать. Может кто-то, пожалуйста, помогите, как я могу решить эту проблему?JNDI lookup, когда два профиля WAS используют одну и ту же машину

Спасибо,

Kshitij Гупта

+1

Почему это было сделано wiki сообщества? Это технический вопрос с техническим ответом. Пожалуйста, объясни. – djna

ответ

4

«Но профиль, из которого я делаю что поиск заканчивается делает поиск в своем собственном узле.»

Позвольте мне убедиться, что я понимаю, что вы говорите:

работы приложения в профиле, ваш EJB развернут в профиле B.

В профиле B мы имеем некоторые узлы, N1, N2, ... при выполнении поиска приложение подключается к одному из узлов, скажем, N2, и по умолчанию при выполнении поиска в N2 мы видим дерево JNDI, связанное с Node N2, которое может быть не там, где EJB зарегистрировал его имя.

Это ваша проблема?

Если есть два возможных подхода.

  1. Перемещение JNDI, начиная с клетками
  2. клеток/персистирующего разделом Использования Yhe - рекомендую этот

Вариант 1: Весь JNDI дерево видно из любого узла. См. the JNDI diagram в Инфоцентре. Затем вы можете перемещаться по иерархии, обозначая путь в этом стиле.

cells/<mycell>/nodes/<ejbNode>/... etc. 

из любой точки мира.

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

Вариант 2: Вместо этого зарегистрируйте регистр EJB в устойчивом месте в дереве JNDI. Это то, для чего требуется постоянный раздел ячейки. Сначала вы изменяете EJB (или его DD), чтобы указать имя как

cell/persistent/myEjb 

, а затем используйте эту строку в вашем поиске.

+0

Большое вам спасибо! Я искал именно это.Это поможет нам с настройкой (поэтому нам не нужно настраивать параметры на каждом узле кластера) и иметь возможность искать его на уровне выше узла или кластера. –

+0

@dnja - Как насчет уровня узла или уровня кластера? есть ли на каждом из них упорство? Я видел что-то вроде этой работы раньше на уровне узла «thisNode/persistend/myObj». Является ли thisNode soemthing только websphere V7? может ли быть thisNode или thisCluster, возможно, предварительно отображенный IBM? Просто интересно, если вы столкнулись с этим или нет. –

+0

@ Крис, насколько я знал, что «постоянное» пространство имен полностью отделено от пространственного пространства топологического узла/кластера. Я не знаю других постоянных пространств. Концептуально я не знаю, почему вы хотели бы их. – djna

0

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

Если у вас есть 2 был на том же имя хоста клиента WAS думает, что сервер такой же, поэтому он будет избегать поиска через CORBA, мы решили связать 2 WAS с двумя разными именами хостов и ip-адресами. и это делает трюк.

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

  • Нет связанных вопросов^_^