Как настроить поиск EJB в кластерной среде websphere - PullRequest
3 голосов
/ 11 июня 2009

Я разрабатываю клиент EJB. Сервер EJB (2.1) развернут как кластер Websphere 6.0. Я выполняю поиск jndi после получения объекта InitialContent для определенного IP-адреса, используя следующий код:

Hashtable env = new Hashtable (); env.put (Context.INITIAL_CONTEXT_FACTIORY, com.ibm.websphere.naming.WsnInitialContextFactory "); env.put (Context.PROVIDER_URL, "IIOP: //111.111.111.111: 222"); // это IP-адрес одного из серверов кластера

затем мы создаем объект InitialContent. Теперь вопрос:

Как мне сделать поиск, чтобы он возвращал мне кластерный удаленный интерфейс? Под кластером я подразумеваю, что вызов будет не прямым вызовом одного из серверов EJB, а механизмом кластера, который знает о кластерных серверах. пока я не могу найти какие-либо четкие документы об этом в Интернете. Кто-нибудь работал с кластерной EJB-средой Websphere 6.0?

спасибо.

Ответы [ 2 ]

3 голосов
/ 22 марта 2012

Вы пробовали это как URL провайдера,

corbaloc::cluster_host1:RMI_PORT_NO,:cluster_host2:RMI_PORT_NO

Замените cluster_host1 именем кластера, а RMI_PORT_NO - номером порта RMI, например 9811 или 2809.

1 голос
/ 11 июня 2009

Даже если вы указываете на один элемент кластера для поиска, созданный EJB может находиться в любом месте кластера. На самом деле у меня когда-то была проблема с этим, потому что мне нужно было получить bean-компонент для одного и того же члена, и я не мог найти способ гарантировать, что он будет локальным. Это может дать более глубокое понимание:

https://www.ibm.com/support/knowledgecenter/beta/en/SSAW57_9.0.0/com.ibm.websphere.nd.multiplatform.doc/ae/rnam_example_prop3.html

...