- EJB 教程
- EJB - 主頁
- EJB - 概述
- EJB - 環境設定
- EJB - 建立應用程式
- EJB - 無狀態Bean
- EJB - 有狀態Bean
- EJB - 永續性
- EJB - 訊息驅動Bean
- EJB - 註解
- EJB - 回撥
- EJB - 定時器服務
- EJB - 依賴注入
- EJB - 攔截器
- EJB - 可嵌入物件
- EJB - 大物件/字元大物件
- EJB - 事務
- EJB - 安全性
- EJB - JNDI 繫結
- EJB - 實體關係
- EJB - 訪問資料庫
- EJB - 查詢語言
- EJB - 異常處理
- EJB - Web 服務
- EJB - 打包應用程式
- EJB 有用資源
- EJB - 快速指南
- EJB - 有用資源
- EJB - 討論
EJB - JNDI 繫結
JNDI 代表 Java Naming and Directory Interface (Java命名和目錄介面)。它是一組API和服務介面。基於Java的應用程式使用JNDI進行命名和目錄服務。在EJB的上下文中,有兩個術語。
繫結 - 這指的是為EJB物件分配一個名稱,稍後可以使用該名稱。
查詢 - 這指的是查詢和獲取EJB物件。
在JBoss中,會話Bean預設情況下以以下格式繫結到JNDI。
本地 - EJB名稱/本地
遠端 - EJB名稱/遠端
如果EJB與<應用程式名稱>.ear檔案捆綁在一起,則預設格式如下:
本地 - 應用程式名稱/EJB名稱/本地
遠端 - 應用程式名稱/EJB名稱/遠端
預設繫結的示例
請參閱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繫結:
本地 - 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控制檯中驗證以下輸出:
... 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 ...
廣告