EJB - JNDI Bağlamaları
JNDI, Java Adlandırma ve Dizin Arayüzü anlamına gelir. Bir dizi API ve hizmet arabirimidir. Java tabanlı uygulamalar, adlandırma ve dizin hizmetleri için JNDI kullanır. EJB bağlamında iki terim vardır.
Binding - Bu, daha sonra kullanılabilecek bir EJB nesnesine bir ad atamayı ifade eder.
Lookup - Bu, EJB nesnesini aramak ve almak anlamına gelir.
Jboss'ta, oturum fasulyeleri JNDI'da varsayılan olarak aşağıdaki formatta bağlanır.
local - EJB adı / yerel
remote - EJB adı / uzak
EJB'nin <uygulama-adı> .ear dosyasıyla paketlenmesi durumunda, varsayılan biçim aşağıdaki gibidir -
local - uygulama-adı / ejb-adı / yerel
remote - uygulama adı / ejb adı / uzak
Temerrüt Bağlamasına Örnek
Bakınız EJB - Uygulama Oluşturma bölümün en JBoss konsol çıktısını.
JBoss Uygulama Sunucusu Günlük Çıktısı
...
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
...
Özelleştirilmiş Ciltleme
Varsayılan JNDI bağlamalarını özelleştirmek için aşağıdaki ek açıklamalar kullanılabilir -
local - org.jboss.ejb3.LocalBinding
remote - org.jboss.ejb3.RemoteBindings
LibrarySessionBean.java'yı güncelleyin. Bakınız EJB - Uygulama oluşturun bölüm.
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();
}
Projeyi oluşturun, uygulamayı Jboss üzerinde dağıtın ve Jboss konsolunda aşağıdaki çıktıyı doğrulayın -
...
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:
tutorialsPoint/librarySession - EJB3.x Default Local Business Interface
tutorialsPoint/librarySession-com.tutorialspoint.stateless.LibrarySessionBeanLocal - EJB3.x Local Business Interface
...