Привязка удаленного EJB не отображается в журнале - Websphere Liberty - PullRequest
0 голосов
/ 21 марта 2019

Я пытаюсь вызвать удаленный EJB-сервер на сервере профиля Liberty, следуя примеру Redbook (Руководство по профилю IBM WebSphere Application Server Liberty для разработчиков, 5.2.3. Разработка приложений с использованием удаленного EJB).

Все компилируется и развертывается без проблем, но во время выполнения выдает это сообщение об ошибке:

Error 404: javax.servlet.UnavailableException: SRVE0319E: For the [com.ibm.itso.ejbRemote.HelloRemoteServlet] servlet, com.ibm.itso.ejbRemote.HelloRemoteServlet servlet class was found, but a resource injection failure has occurred. CWNEN0030E: The server was unable to obtain an object instance for the java:comp/env/com.ibm.itso.ejbRemote.HelloRemoteServlet/helloRemoteBean reference. The exception message was: CWNEN1003E: The server was unable to find the java:global/ITSORemote/ITSORemoteEJB/HelloRemoteEJB!com.ibm.itso.ejbRemote.view.HelloRemoteEJBRemote binding with the com.ibm.itso.ejbRemote.view.HelloRemoteEJBRemote type for the java:comp/env/com.ibm.itso.ejbRemote.HelloRemoteServlet/helloRemoteBean reference.

Что может быть не так? Пример локального EJB работает просто отлично.

Достаточно ли указать удаленный EJB только в клиентском коде или он должен быть где-то еще (файл свойств или server.xml)?

@EJB(lookup="java:global/ITSORemote/ITSORemoteEJB/HelloRemoteEJB!com.ibm.itso.ejbRemote.view.HelloRemoteEJBRemote") 
 private HelloRemoteEJBRemote helloRemoteBean;

Только интерфейс с аннотацией @Local является обязательным и отображается в журнале. Интерфейс с аннотацией @Remote не привязывается и не отображается в журнале.

В чем может быть ошибка?

Ответы [ 2 ]

0 голосов
/ 21 марта 2019

Если интерфейс @Remote не привязан, то файл server.xml либо не включает функцию ejbRemote-3.2, либо отсутствует конфигурация для ORB (т. Е. Функция ejbRemote не запустится, если ORB не запускается Например, содержит ли ваш server.xml хотя бы что-то вроде следующего:

<server>
    <featureManager>
        <feature>ejbRemote-3.2</feature>
    </featureManager>

    <iiopEndpoint id="defaultIiopEndpoint" iiopPort="2809" iiopsPort="2810"/>
</server>
0 голосов
/ 21 марта 2019

В этой процедуре действительно есть некоторые дополнительные настройки, в конце указывается настроить ibm - * - bnd.xml из вашего приложения:

<ejb-ref name="helloRemoteBean" binding-name="java:global/ITSORemote/ITSORemoteEJB/HelloRemoteEJB!com.ibm.itso.ejbRemote.view.HelloRemoteEJBRemote"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...