путь класса EJB в функции поиска на javaEE - PullRequest
0 голосов
/ 19 декабря 2018

Я хочу добавить содержимое класса EJB в переменную объекта с помощью функции поиска, но не нашел путь.Ниже приводится мой код в javaEE:

 PrintWriter out = response.getWriter();
 out.println("this is the flight details:.....");
 try{
     Context context = new InitialContext();
     Object ob = context.lookup("java:global/ejb1/SourcePackage/FlightService!com.airline.service.FlightService");
     fs = (FlightService)ob;
 }
 catch(Exception e){
     out.println("not found path");
 }

и моя структура проекта:

enter image description here

1 Ответ

0 голосов
/ 19 декабря 2018

Прежде всего, я думаю, что лучше понять, что не так с аннотацией, потому что внедрение бина проще и управление контейнером, а не вы.Поиск - это выбор, только когда вы пытаетесь получить доступ к ejb от другого jvm.

Во-вторых, ваш путь неверен.Вы используете module-name вместо app-name, а пакет Source - это специфическая среда IDE.Путь в JNDI основан на встроенном файле JAR.Как описано в спецификации EJB , глобальное имя создается по следующей схеме

java:global[/<app-name>]/<module-name>/<bean-name>[!<fully-qualified-interface-name>]

, где в вашем случае

  1. app-name обычно ухоname
  2. module-name обычно EJB jar name (в вашем случае ejb1)
  3. bean-name - это простое имя класса с аннотацией Stateless, Statefull, Singleton.
  4. interface name каноническое имя реализованного интерфейса
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...