Учебники

EJB — JNDI Привязки

JNDI расшифровывается как Java Naming and Directory Interface. Это набор API и сервисных интерфейсов. Java-приложения используют JNDI для именования и служб каталогов. В контексте EJB есть два термина.

  • Привязка — это относится к присвоению имени объекту EJB, который можно использовать позже.

  • Lookup — это относится к поиску и получению объекта EJB.

Привязка — это относится к присвоению имени объекту EJB, который можно использовать позже.

Lookup — это относится к поиску и получению объекта EJB.

В Jboss сессионные компоненты по умолчанию связаны в JNDI в следующем формате.

  • местный — EJB-имя / местный

  • удаленный — EJB-имя / удаленный

местный — EJB-имя / местный

удаленный — EJB-имя / удаленный

В случае, если EJB связан с файлом <application-name> .ear, то по умолчанию используется следующий формат:

  • local — имя приложения / ejb-name / local

  • remote — имя приложения / ejb-name / remote

local — имя приложения / ejb-name / local

remote — имя приложения / ejb-name / remote

Пример привязки по умолчанию

Обратитесь к EJB — вывод консоли JBoss главы « Создание приложения ».

Вывод журнала сервера приложений JBoss

...
16:30:02,723 INFO  [SessionSpecContainer] Starting jboss.j2ee:jar=EjbComponent.jar,name=LibrarySessionBean,service=EJB3
16:30:02,723 INFO  [EJBContainer] STARTED EJB: com.tutorialspoint.stateless.LibrarySessionBean ejbName: LibrarySessionBean
16:30:02,731 INFO  [JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:

   LibrarySessionBean/remote - EJB3.x Default Remote Business Interface
   LibrarySessionBean/remote-com.tutorialspoint.stateless.LibrarySessionBeanRemote - EJB3.x Remote Business Interface
...

Индивидуальная привязка

Следующие аннотации могут быть использованы для настройки привязок JNDI по умолчанию —

  • local — org.jboss.ejb3.LocalBinding

  • удаленный — org.jboss.ejb3.RemoteBindings

local — org.jboss.ejb3.LocalBinding

удаленный — org.jboss.ejb3.RemoteBindings

Обновите LibrarySessionBean.java. Обратитесь к главе EJB — Создание приложения .

LibrarySessionBean

package com.tutorialspoint.stateless;
 
import java.util.ArrayList;
import java.util.List;
import javax.ejb.Stateless;
 
@Stateless
@LocalBinding(jndiBinding="tutorialsPoint/librarySession")
public class LibrarySessionBean implements LibrarySessionBeanLocal {
    
    List<String> bookShelf;    
    
    public LibrarySessionBean() {
       bookShelf = new ArrayList<String>();
    }
    
    public void addBook(String bookName) {
       bookShelf.add(bookName);
    }    
 
    public List<String> getBooks() {
        return bookShelf;
    }
}

LibrarySessionBeanLocal

package com.tutorialspoint.stateless;
 
import java.util.List;
import javax.ejb.Local;
 
@Local
public interface LibrarySessionBeanLocal {
 
    void addBook(String bookName);
 
    List getBooks();
    
}

Создайте проект, разверните приложение в Jboss и проверьте следующий вывод в консоли Jboss: