Ошибка поиска контекста RMI на WebSphere Portal Server V8.0.0.5

У меня возникли проблемы с поиском бизнес-интерфейсов EJB 3.0 на сервере приложений WebSphere 8.0.0.5. Когда я запускаю dumpNamespace в каталоге профиля, я получаю классы, зарегистрированные в контексте, отличном от того, который использует com.ibm.websphere.naming.WsnInitialContextFactory. Кажется, когда я запускаю приведенный ниже код, он ищет интерфейсы в Context: DeveloperCell/nodes/DeveloperNode/servers/WebSphere_Portal, когда dumpNameSpace находит интерфейсы в (вверху)/nodes/DeveloperNode/servers/WebSphere_Portal/ejb/testEAR/{ myejb.jar/полное имя интерфейса}

[обратите внимание, что содержимое в {} является заполнителем для настоящей банки и интерфейса]

Hashtable env = новая Hashtable();

        env.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory");
        env.put(Context.PROVIDER_URL, "iiop://localhost:10035");
        Context ctx = new InitialContext(env);

        Object obj = ctx.lookup(ProvinceServiceLocal.class.getName());
        ProvinceServiceLocal provinceService = (ProvinceServiceLocal) PortableRemoteObject.narrow(obj, ProvinceServiceLocal.class); 

person Thakhani Tharage    schedule 22.03.2013    source источник
comment
По какой-то причине он работает для удаленного интерфейса, но не работает для локальных интерфейсов.   -  person Thakhani Tharage    schedule 22.03.2013


Ответы (1)


Локальные интерфейсы доступны только внутри одной и той же JVM. Невозможно выполнить удаленный поиск локального интерфейса.

person Brett Kail    schedule 30.04.2013
comment
мой бизнес-интерфейс реализован как локально, так и удаленно, во время тестирования на моем локальном компьютере я использовал локальный, и он работает, но на стороне сервера не работает. Я предполагаю, что, возможно, это связано с тем, что мы выполняем контекстный поиск, а не аннотации. и да код находится в той же JVM - person Thakhani Tharage; 02.05.2013
comment
В чем разница между локальной машиной и серверной частью? Вы используете встраиваемый контейнер на локальном компьютере или...? - person Brett Kail; 02.05.2013
comment
для локальной машины я имею в виду свой ноутбук, на котором работает WAS, и для моего локального тестирования. Сервер — это когда я экспортирую свои модули в среду разработки для интеграции с другими модулями, поскольку мы используем шаблон MVC. - person Thakhani Tharage; 04.05.2013
comment
Значит, этот код каким-то образом работает в WAS на вашем ноутбуке, но не на сервере разработки? Я понятия не имею, почему это может быть, извините. - person Brett Kail; 04.05.2013