Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / IBM WebSpere 7 + EJB 3 detected problem / 17 сообщений из 17, страница 1 из 1
05.03.2014, 14:51
    #38579060
eJack
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM WebSpere 7 + EJB 3 detected problem
Всем привет.
Есть некое JEE приложение которе успешно работает на GLASSFISH 4 и TomEE (на других не тестил)
ниже простой пример использования EJB3 для примера, ниже код.

Есть еще хтмл-лина которая передает параметры в сервлет но не суть. все очень просто но бин не инжектится в вебсфере (версия 7.0.0.13).
До этого не работал с EJB на WAS кто может знает что есть какие фичи или баги и т.д. или придется переписать под EJB2 ?

Спасибо.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
// это бин
@Stateless
public class ExampleBean {

    public Integer add(Integer x, Integer y) {
        return  x + y;
    }

}

// это сервлет его использующий
@WebServlet(name = "beanclient", urlPatterns = {"/client"})
public class ClientBean extends HttpServlet {
    private Logger log = Logger.getLogger(ClientBean.class);

    @EJB
    private ExampleBean exampleBean;

    @Override
    protected void doGet(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException {
        log.debug("doPost call");

        Integer x = Integer.parseInt((String) httpServletRequest.getParameter("addX"));
        Integer y = Integer.parseInt((String) httpServletRequest.getParameter("addY"));


        Integer sum = exampleBean == null ? -1000 : exampleBean.add(x, y);

        if (sum != -1000)
            httpServletResponse.getWriter().println("X + Y = " + sum);
        else
            httpServletResponse.getWriter().println("Error!!!");
    }
}
...
Рейтинг: 0 / 0
05.03.2014, 15:03
    #38579078
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM WebSpere 7 + EJB 3 detected problem
Смотрите матрицу совместимости версии JEE и WAS
http://en.wikipedia.org/wiki/IBM_WebSphere_Application_Server
CDI в сервлетах появился в 3.0. А WAS 7 поддерживает только сервлеты 2.5.

Поэтому старый-добрый JNDI Lookup в помощь.
...
Рейтинг: 0 / 0
05.03.2014, 15:27
    #38579110
eJack
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM WebSpere 7 + EJB 3 detected problem
BlazkowiczСмотрите матрицу совместимости версии JEE и WAS
http://en.wikipedia.org/wiki/IBM_WebSphere_Application_Server
CDI в сервлетах появился в 3.0. А WAS 7 поддерживает только сервлеты 2.5.

Поэтому старый-добрый JNDI Lookup в помощь.

то что сервлет не запускается через @WebServlet это я в курсе :) для этого есть в сборке web.xml

я же по EJB спрашивал и согластно таблице у седьмого васи подержка 3.0 из коробки. Не лукапиться бин - сервлет выводит Error!

может не понятно описал?
...
Рейтинг: 0 / 0
05.03.2014, 15:43
    #38579136
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM WebSpere 7 + EJB 3 detected problem
eJackто что сервлет не запускается через @WebServlet это я в курсе :) для этого есть в сборке web.xml

Такой снисходительный тон. Право, если сами в курсе, то и спрашивать не надо было.

eJackя же по EJB спрашивал и согластно таблице у седьмого васи подержка 3.0 из коробки. Не лукапиться бин - сервлет выводит Error!

Сосредоточьтесь. Больше повторять не буду:
Поддержка CDI в Servlet API к спецификации EJB отношения не имеет. Зато имеет отношение к спецификации, чего бы вы думали? Правильно -- Servlet API.
...
Рейтинг: 0 / 0
05.03.2014, 15:57
    #38579170
eJack
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM WebSpere 7 + EJB 3 detected problem
BlazkowiczeJackто что сервлет не запускается через @WebServlet это я в курсе :) для этого есть в сборке web.xml

Такой снисходительный тон. Право, если сами в курсе, то и спрашивать не надо было.


сорри если чем обидел - мыслей таких и в правду не было.И смайлик там поставил, я без всякого тона.

BlazkowiczeJackя же по EJB спрашивал и согластно таблице у седьмого васи подержка 3.0 из коробки. Не лукапиться бин - сервлет выводит Error!


Сосредоточьтесь. Больше повторять не буду:
Поддержка CDI в Servlet API к спецификации EJB отношения не имеет. Зато имеет отношение к спецификации, чего бы вы думали? Правильно -- Servlet API.

вот тут спасибо - и вправду туплю, бывает
...
Рейтинг: 0 / 0
05.03.2014, 20:04
    #38579462
eJack
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM WebSpere 7 + EJB 3 detected problem
BlazkowiczeJackто что сервлет не запускается через @WebServlet это я в курсе :) для этого есть в сборке web.xml

Такой снисходительный тон. Право, если сами в курсе, то и спрашивать не надо было.

eJackя же по EJB спрашивал и согластно таблице у седьмого васи подержка 3.0 из коробки. Не лукапиться бин - сервлет выводит Error!

Сосредоточьтесь. Больше повторять не буду:
Поддержка CDI в Servlet API к спецификации EJB отношения не имеет. Зато имеет отношение к спецификации, чего бы вы думали? Правильно -- Servlet API.

я может чего то не понимаю (можите объснить?), но вот здесь руководство от IBM и там вася 6.1 и там в сверлетах нормально юзается @EJB - что я не так делаю или что не так понимаю?

Спасибо.
...
Рейтинг: 0 / 0
05.03.2014, 20:04
    #38579463
eJack
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM WebSpere 7 + EJB 3 detected problem
BlazkowiczeJackто что сервлет не запускается через @WebServlet это я в курсе :) для этого есть в сборке web.xml

Такой снисходительный тон. Право, если сами в курсе, то и спрашивать не надо было.

eJackя же по EJB спрашивал и согластно таблице у седьмого васи подержка 3.0 из коробки. Не лукапиться бин - сервлет выводит Error!

Сосредоточьтесь. Больше повторять не буду:
Поддержка CDI в Servlet API к спецификации EJB отношения не имеет. Зато имеет отношение к спецификации, чего бы вы думали? Правильно -- Servlet API.

я может чего то не понимаю (можите объснить?), но вот здесь руководство от IBM и там вася 6.1 и там в сверлетах нормально юзается @EJB - что я не так делаю или что не так понимаю?

Спасибо.
...
Рейтинг: 0 / 0
05.03.2014, 20:34
    #38579490
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM WebSpere 7 + EJB 3 detected problem
eJackя может чего то не понимаю (можите объснить?), но вот здесь руководство от IBM и там вася 6.1 и там в сверлетах нормально юзается @EJB - что я не так делаю или что не так понимаю?

Скачайте попробуйте задеплоить. Там внизу ссылка на модуль.
...
Рейтинг: 0 / 0
05.03.2014, 20:37
    #38579491
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM WebSpere 7 + EJB 3 detected problem
Если таки в WAS это работает, значит что-то с деплойментом не то. Нужен либо общий ear модуль. Либо ejb-jar надо прописать в манифесте war модуля. Посомтрите в том примере это есть.
...
Рейтинг: 0 / 0
05.03.2014, 21:35
    #38579534
eJack
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM WebSpere 7 + EJB 3 detected problem
BlazkowiczЕсли таки в WAS это работает, значит что-то с деплойментом не то. Нужен либо общий ear модуль. Либо ejb-jar надо прописать в манифесте war модуля. Посомтрите в том примере это есть.

Завтра посмотрю попробую задеплоить, но вот это меня вводит в дальнейшее заблужение.
С английским туго - и как я понял или аннотации, или ejb-jar.xml
...
Рейтинг: 0 / 0
06.03.2014, 08:23
    #38579689
0FD
0FD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM WebSpere 7 + EJB 3 detected problem
eJack,

Возможно из-за того что ваш ExampleBean не реализует ни локальный, ни удаленный интерфейс.
...
Рейтинг: 0 / 0
06.03.2014, 10:29
    #38579796
eJack
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM WebSpere 7 + EJB 3 detected problem
0FDeJack,

Возможно из-за того что ваш ExampleBean не реализует ни локальный, ни удаленный интерфейс.

Добрый день, я пробовал с локальным -> результат тот же, позже просто создал до безобразия простой пример.
Да и спека такое позволяет - не реализовывать интерфейсы.

Тут мне подсказали что у васи есть особенность - EJB нужно обязательно завернуть в EAR, так же описано в примере. Как смогу найти время займусь и отпишу.
...
Рейтинг: 0 / 0
06.03.2014, 11:07
    #38579850
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM WebSpere 7 + EJB 3 detected problem
eJackДобрый день, я пробовал с локальным -> результат тот же, позже просто создал до безобразия простой пример.
Да и спека такое позволяет - не реализовывать интерфейсы.

Тут мне подсказали что у васи есть особенность - EJB нужно обязательно завернуть в EAR, так же описано в примере. Как смогу найти время займусь и отпишу.
Если дело действительно в деплойменте, то стоило почитать логи. Если сфера обрабатывала аннотацию в сервлете, но не нашла нужный бин, то должна быть ошибка.
...
Рейтинг: 0 / 0
06.03.2014, 12:12
    #38579959
eJack
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM WebSpere 7 + EJB 3 detected problem
BlazkowiczeJackДобрый день, я пробовал с локальным -> результат тот же, позже просто создал до безобразия простой пример.
Да и спека такое позволяет - не реализовывать интерфейсы.

Тут мне подсказали что у васи есть особенность - EJB нужно обязательно завернуть в EAR, так же описано в примере. Как смогу найти время займусь и отпишу.
Если дело действительно в деплойменте, то стоило почитать логи. Если сфера обрабатывала аннотацию в сервлете, но не нашла нужный бин, то должна быть ошибка.

тут сложность, вася стоит удаленно (в другом городе) прямого доступа к логам нет, тот кто может достать логи будет после праздников, вот такой каламбур :). Он же предоставит доступ.
...
Рейтинг: 0 / 0
06.03.2014, 15:19
    #38580305
eJack
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM WebSpere 7 + EJB 3 detected problem
0FDeJack,

Возможно из-за того что ваш ExampleBean не реализует ни локальный, ни удаленный интерфейс.


Вот что мне подсказали коллеги, работавшие с WAS7 -
авторEJB обязательно должен иметь интерфейс Local или Remote.

И ещё не рекомендуется EJB инжектить в сервлете через аннотацию @EJB. В сервлете бин лучше искать через lookup.

особых разъяснений по последнему пункту нет - просто проблем будет меньше. Как бы WAS инжектит через @EJB но там есть магия и она не всегда работает (в части сервлетов), при этом нормально инжектятся бины внутри себя. Плюс лучше использовать ejb-jar.xml почему - просто лучше.

Вот такая инфа у меня по этому вопросу
...
Рейтинг: 0 / 0
06.03.2014, 15:27
    #38580322
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM WebSpere 7 + EJB 3 detected problem
eJackособых разъяснений по последнему пункту нет - просто проблем будет меньше. Как бы WAS инжектит через @EJB но там есть магия и она не всегда работает (в части сервлетов)
Ну, то есть они не в курсе что к чему.


eJack, при этом нормально инжектятся бины внутри себя.

Было бы удивительно если бы при заявленной поддержке EJB3 этого небыло.
...
Рейтинг: 0 / 0
06.03.2014, 15:42
    #38580342
eJack
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBM WebSpere 7 + EJB 3 detected problem
BlazkowiczeJackособых разъяснений по последнему пункту нет - просто проблем будет меньше. Как бы WAS инжектит через @EJB но там есть магия и она не всегда работает (в части сервлетов)
Ну, то есть они не в курсе что к чему.


Наверное особо не разбирались.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / IBM WebSpere 7 + EJB 3 detected problem / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]