JNDI表示Java命名和目錄接口。這是一組API和服務(wù)接口?;贘ava應(yīng)用程序使用JNDI命名和目錄服務(wù)。在EJB的情況下,有兩個方面。
Binding 結(jié)合 -這是指將一個名稱分配給一個 ejb 對象,可以在以后使用
Lookup 查詢 -這是指查找和獲取 ejb 對象。
在 Jboss 中,會話 bean 綁定在 JNDI 中以下默認情況的格式下
local 本地 -ejb-name /local
remote 遠程 -ejb-name /remote
在下面的情況下,EJB與<application-name>/<應(yīng)用程序名稱>捆綁. ejb.ear 文默認格式如下。
local 本地 -應(yīng)用程序的名稱/ EJB名/本地 application-name/ejb-name/local
remote 遠程 -應(yīng)用程序的名稱/ EJB名/遠程 application-name/ejb-name/remote
請參閱EJB -創(chuàng)建應(yīng)用程序一章中的JBoss控制臺輸出。
JBoss應(yīng)用服務(wù)器日志輸出
... 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
remote 遠程 - org.jboss.ejb3.RemoteBindings
更新LibrarySessionBean.java。請參閱EJB -創(chuàng)建應(yīng)用程序這章
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應(yīng)用和驗證Jboss的控制臺輸出以下內(nèi)容。
... 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 ...
重復(fù)以上步驟,用于遠程和檢查結(jié)果。
更多建議: