Общий поиск JNDI для нескольких сеансовых компонентов без состояния с EJB 3.1 и Weblogic 12.1

#java #jakarta-ee #ejb #weblogic12c

#java #джакарта-ee #ejb #weblogic12c

Вопрос:

Я работаю над ejb 3.1 с weblogic 12.1.2

код удаленного интерфейса:

 @Remote
public interface WordInterface{

    public String cities();

}
  

код класса сеансовых компонентов:

 @Stateless(mappedName="wordbean")
public class WordSessionBean  implements WordInterface {

    @Override
    public String cities() {
        return "This is NewYork";
    }
  

Клиентский код :

 WordInterface obj = (WordInterface) ctx.lookup("wordbean#com.WordSessionBean");
  

Приведенный выше поиск Jndi клиента сопоставляется с определенным именем компонента.

Это работает нормально. Но у меня есть несколько сеансовых интерфейсов и удаленных интерфейсов с разными отображаемыми именами.

Как мне настроить мой поиск Jndi, который является общим для всех классов SessionBean в реальном времени.

Классы клиента и сервера будут находиться в разных jvm

Я попытался использовать следующее утверждение

WordInterface obj = (WordInterface) ctx.lookup(«java: comp / env / ejb/wordbean»);

Но выдает эту ошибку

javax.naming.Исключение NameNotFoundException: при попытке поиска ‘java:comp.env/ejb / wordbean’ не найден субтекст ‘java: comp’. Решен » [Корневым исключением является javax.naming.Исключение NameNotFoundException

Как это решить?

Комментарии:

1. Взгляните на это: docs.jboss.org/author/display/AS71 /…

2. @Бруно, согласно руководству, я отредактировал свой вопрос с последним ответом, пожалуйста, уточните это.

3. Вы пытались внедрить свой EJB на стороне клиента? @EJB(mappedName="wordbean#com.WordInterface")