EJB JNDI綁定

2018-12-09 11:53 更新

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é)果。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號