EJB作为J2EE标准的一部分,与Spring struts2等轻量级框架不同,EJB天生就是为了分布式而设计的重量级企业框架,说到EJB,自然会想到的是:分布式!如果如果一个应用要进行分布式部署,需要分布式事务的支持,需要支持不同的客户端,那么EJB是一个不错的选择.
EJB根据bean的类型,将它们分为有一种类型,关于下面三种类型,在以后的章节中将会一一讲到.
- 会话bean
- 消息驱动bean(MDB)
- 实体
接下来简单认识一下如何搭建一个EJB环境.
首先我使用的的jboss-as-7.1.1.Final ,这里在可以在jboss那里下载,开发环境使用EJB3.1,基于MyEclipse 10
第一步:下载 jboss服务器
第二步
创建一个EJB项目:指定项目名称EJBTest , 选择使用EJB3.1 , 选择不使用JPA,点击完成
新建一个接口:
package gd.hz.ejb; public interface HelloEJB { public String say(String name) ; }
实现HelloEJB这个接口
package gd.hz.ejb.bean; import javax.ejb.Remote; import javax.ejb.Stateless; import gd.hz.ejb.HelloEJB; @Stateless @Remote public class HelloEjbBean implements HelloEJB { @Override public String say(String name) { return "你好啊" + name ; } }
关于@Stateless 和@Remote在以后的章节会介绍到,将EJB项目部署到JBOSS中,可以看到其部署时的类名称为HelloEjbBean(一般为类的名称).这样我们在其它客户端可以通过这个名称查找.
将接口HelloEJB打包为jar文件,注意只要导出接口就可以了
选择导出jar文件:
选择需要导出的接口和存放的位置,点击完成:
第三步:新建一个普通java客户端:
引入之前导出的HelloEJB接口:
新建一个EJBTestClient普通java类,生成main方法:
package gd.hz.ejb.client; import java.util.Hashtable; import gd.hz.ejb.HelloEJB; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; public class EJBTestClient { /** * @param args */ public static void main(String[] args) { Hashtable<String , String> jndiProperties = new Hashtable<String, String>(); //让JNDI API知道是由谁来管理我们用来查找JNDI 名字的命名空间的。 jndiProperties.put(Context.URL_PKG_PREFIXES , "org.jboss.ejb.client.naming"); try { /* JNDI: ejb:appName/moduleName/distinctName/beanName!viewClassName appName:这里是.EAR包的名称,如果你打包成JAR发布的话,这里则留空 moduleName:表示模块名,也就是ejb包名,但不包括后缀.jar,如admin_ejb.jar。moduleName为admin_ejb distinctName:如果没有定义其更详细的名称,则这里留空 beanName:这里为实现类的名称 viewClassName:为接口全路径名称 */ Context context = new InitialContext(jndiProperties); HelloEJB hello = (HelloEJB)context.lookup("ejb:/EJBTest//HelloEjbBean!gd.hz.ejb.HelloEJB"); System.out.println(hello.say("lfd")); } catch (NamingException e) { e.printStackTrace(); } } }
引入%JBOSS_HOME%\bin\client/jboss-client.jar到classpath路径下.
在classPath下增加“jboss-ejb-client.properties”文件 ,用于jndi查找.
endpoint.name=client-endpoint remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false remote.connections=default remote.connection.default.host=127.0.0.1 remote.connection.default.port=4447 remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false
运行客户端,输出:你好啊lfd
下面是整个例子,这里我没有引入J2EE的jar包.是由MyEclipse帮我引入的,所以要注意.
相关推荐
标题《EJB3.1与JBoss7.1.1在...根据描述,文档提供的是一个详细的EJB3.1与JBoss7.1.1结合使用的入门指导,通过实践操作来逐步引导开发者完成环境搭建和简单应用的开发,帮助他们更快地理解和掌握EJB的开发和部署流程。
在提供的压缩包文件"TestEjb3"中,可能包含了EJB3入门教程的源代码或者示例项目。这些示例通常会展示如何创建和使用EJB3组件,如状态less会话bean、实体bean和消息驱动bean。通过学习和运行这些示例,开发者可以更好...
《JBoss 7.1.1 + EJB 3.0 + MySQL 数据源配置详解》 在企业级Java应用开发中,JBoss Application Server(简称JBoss AS)是广泛使用的开源应用服务器,版本7.1.1是其稳定且功能强大的一个版本。EJB(Enterprise ...
JBoss 7.1.1 是一款开源的应用服务器,它基于Java EE 6规范,提供了对Web服务、EJB、JMS、JPA等技术的支持。本配置指南旨在详细阐述JBoss 7.1.1的特性、配置方法以及管理实践,帮助用户深入了解并有效地利用该版本。...
**EJB3入门** Enterprise JavaBeans(EJB)是Java EE平台的核心组件之一,用于构建企业级分布式应用程序。EJB3是EJB规范的一个重要版本,它极大地简化了开发过程,降低了EJB技术的门槛,使得更多的开发者能够利用...
EJB3是基于J2EE(Java 2 Platform, Enterprise Edition)平台的一部分,后来演进为Java EE(Java Platform, Enterprise Edition),现在被称为Jakarta EE。 2. **EJB3的主要改进** - 注解驱动:EJB3引入了注解,极...
在 Ejb3 开发方面,首先在 Eclipse 中建立一个工程,并选择 EJB 3.1 版本,确保在创建工程时勾选了需要的配置,以便生成必要的文件。工程建立完成后,初始化的工程结构会显示出来。接下来,需要添加客户端所需的 Jar...
在JBoss 7及以上版本中,对EJB的配置过程相较于之前的版本有所变化,主要涉及到两个关键的配置文件:`jboss-ejb3.xml`和`ejb-jar.xml`。 `ejb-jar.xml`文件是EJB模块的标准配置文件,遵循Java EE规范。在这个文件中...
EJB3是EJB规范的一个重要版本,它在EJB2的基础上进行了重大改进,引入了许多简化开发的新特性,使得EJB更加易用且高效。这个压缩包文件"**EJB3 入门经典 源码**"很可能是为了帮助初学者理解并学习EJB3的基本概念、...
**EJB(Enterprise JavaBeans)**是...通过这个入门例程,你将学习到如何创建和配置EJB组件,如何在Java EE环境中部署和测试它们,以及如何编写客户端代码来调用EJB服务。这将为你进一步深入Java EE开发打下坚实基础。
Struts2和EJB3是两个在Java Web开发中广泛使用的框架,Struts2主要用于处理MVC模式的前端控制,而EJB3则提供企业级的服务,如事务管理、安全性和持久化等。将这两者整合在一起,可以利用EJB3的强大功能来处理复杂的...
在EJB3中,JNDI名称的确定可以是自动的,基于Bean实现类的名称,或者在XML配置中显式指定。例如,在JBoss4中,JNDI名称可能与EJB的打包位置和类型有关。如果未使用XML配置,JNDI名称可能会因服务器和打包方式的不同...
《EJB3.0入门经典》是关于EJB 3.0的专业技术教程,从实用的角度出发,理论联系实际,用9章的篇幅详细讲解了EJB 3.0开发的方法和技巧。《EJB3.0入门经典》内容丰富,讲解由浅入深,全面系统,在讲解EJB 3.0最新开发...
EJB3.0规范和EJB3.0经典入门(含源码) 本材料适合Java程序员、项目经理和系统架构师。学习本材料,您不需要EJB2.x知识,如果具备一些Web和jdbc知识,学习效率会更快些。学习本材料,初级Java程序员应在1个月左右,...
ejb3.0 入门经典ejb3.0 入门经典ejb3.0 入门经典ejb3.0 入门经典
《EJB 3.0入门经典》是一本专门介绍EJB 3.0的著作,由黎活明编著。这本书深入浅出地讲解了EJB 3.0的基本概念、设计模式和实际应用,旨在帮助读者快速掌握这一技术。源码是书中理论知识的实践展现,提供了丰富的实例...
EJB3是EJB规范的一个重要版本,它在EJB2的基础上进行了重大改进,极大地简化了开发流程,降低了对开发者的要求。"ejb3 带源码"的资源,如"Mastering EJB3"和"Beginning EJB3 Application Development"等,提供了深入...
这个“EJB3入门经典配套源码1.rar”文件很可能包含了一系列的EJB3实例,这些实例涵盖了EJB3的基础概念和核心特性,比如状态管理(无状态Bean和有状态Bean)、消息驱动Bean、实体Bean的持久化操作、事务管理等。...
经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码.part1 其他部分详见我的上传列表,全部分卷下载完成才能解压。 本书介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun...