codecamp

EJB JNDI绑定

JNDI表示Java命名和目录接口。这是一组API和服务接口。基于Java应用程序使用JNDI命名和目录服务。在EJB的情况下,有两个方面。

  • Binding 结合 -一个名称分配一个 ejb 对象可以以后使用

  • Lookup 查询 -查找获取 ejb 对象


 Jboss 中会话 bean 绑定 JNDI 以下默认情况的格式

  • local 本地 -ejb-name /local

  • remote 远程 -ejb-name /remote


在下面的情况下,EJB与<application-name>/<应用程序名称>捆绑. ejb.ear 默认格式如下。

  • local 本地 -应用程序的名称/ EJB名/本地 application-name/ejb-name/local

  • remote 远程 -应用程序的名称/ EJB名/远程 application-name/ejb-name/remote


默认绑定实例

请参阅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 绑定

  • local 本地 - org.jboss.ejb3.LocalBinding

  • remote 远程 - 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
...

重复以上步骤,用于远程和检查结果。


EJB安全
EJB实体关系
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }