Чем я занимаюсь:
Пытаюсь разработать небольшую прогу для вызова EJB из другого домена.
Версия
EJB 3.0
Weblogic 10.3.6
На Machine1 и Machine2 есть 2 домена, поэтому управляемые серверы:
domain1_cluster1_machine1 domain1_cluster1_machine2
domain2_cluster1_machine1 domain2_cluster1_machine2
(надеюсь, я ясно выразился)
Я следил за этим блогом, чтобы разработать программу: http://edwin.baculsoft.com/tag/weblogic/< /а>
Я развернул EJB в домене1_cluster1_machine1 и домене1_cluster1_machine2 со статусом Active, и его можно найти в дереве JNDI.
Затем клиентское приложение развертывается в домене< strong>2_cluster1_machine1 и домен2_cluster1_machine2
Весь код такой же, как и в блоге, за исключением URL-адреса провайдера:
t3://[IP of Machine1]:[Listen port of domain**1**_cluster1_machine1]
Когда я запускаю клиентское приложение из домена2_cluster1_machine1, я получаю следующее исключение:
javax.naming.CommunicationException [Корневое исключение — java.rmi.UnmarshalException: не удалось отменить маршалинг класса java.lang.Object; вложенное исключение: java.lang.ClassNotFoundException: com.edw.ejb3.HelloEJBRemote]
Когда я неправильно набираю в поиске, т.е. ic.lookup("com.edw.ejb3.HelloEJBRemote")
, возникает исключение:
javax.naming.NameNotFoundException: при попытке поиска «com.edw.ejb3.HelloEJBRemote» не был найден подконтекст «com». Решено '' [Корневое исключение - javax.naming.NameNotFoundException: при попытке поиска 'com.edw.ejb3.HelloEJBRemote' не был найден подконтекст 'com'. Решено '']; оставшееся имя 'com/edw/ejb3/HelloEJBRemote'
Следовательно, могу ли я сделать вывод, что клиент может найти EJB из domain1, так как исключение не NameNotFoundException
?
Тогда что в этом плохого? Это связано с безопасностью?
Я новичок в Weblogic и EJB. Ваша помощь будет оценена по достоинству. Спасибо!
HelloEJBRemote
развернуто в кластере 1, а его интерфейсHelloEJBRemote
должен быть частью развертывания кластера 2? - person Patton   schedule 09.11.2014