1.EJB3简介:
EJB是企业级java bean(Enterprise Java Bean)开发技术,是基于IIOP协议的分布式远程方法调用技术(RMI),EJB3在JavaEE5中被正式引入,去掉了EJB2以前的复制度,使得EJB3更加轻量级,同时将实体Bean单独分拆成为JPA规范,从而使EJB3更加专注于会话Bean和消息驱动Bean的业务逻辑,同时EJB3中全面支持java注解方式,大大简化开发的难度提高开发效率。
2.在客户端调用一个简单EJB3程序:
首先使用一个简单例子演示客户端调用EJB3的基本过程,使用Jboss应用服务器为例。
(1).设置Jboss的JNDI连接:
(2).通过JNDI在客户端调用服务器端的Bean
通过hello对象调用会话Bean所实现接口的方法
其中:HelloWorld是接口,HelloWorldBean是实现了接口的服务器端会话Bean.
该调用过程中返回的实例对象并非写在服务器端的会话Bean,而是一个实现了HelloWorld接口的代理对象。
3.JNDI简介:
JNDI:java naming directory interface(java命名和目录接口),是EJB的核心,它为远程对象提供存储服务,调用者通过JNDI名称从JNDI服务器上获取目标对象。
(1).Jboss的JNDI树命名规则:
各个JavaEE服务器的JNDI命名和生成规则可能有所区别,这里以Jboss为例。
a. java:comp :此上下文环境和其子上下文环境仅能被应用组件内部访问和使用。
b. java: :子上下文环境和绑定的对象只能被处于同一个java虚拟机内的对象访问。
c. 全局JNDI命名空间:上下文环境可以被所有对象访问。
(2).JNDI连接信息:
a.JNDI驱动类:java.naming.factory.initial或者Context.INITIAL_CONTEXT_FACTORY。
b.JNDI提供者url:java.naming.provider.url或者Context.PROVIDER_URL。
c.用户标识:java.naming.security.principal或者Context.SECURITY_PRINCIPAL。
d.用户密码:java.naming.security.credentials或者Context.SECURITY_CREDENTIALS。
注意:后面两个主要在EJB使用安全服务时用到。
4.Jboss默认生成的JNDI名称规则: