- 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 ...
广告