您的位置:首页 > 其它

EJB入门实例一

2016-02-15 11:22 253 查看

        什么是EJB

       商务软件的核心部分是它的业务逻辑。业务逻辑抽象了整个商务过程的流程,并使用计算机语言将他们实现。J2EE 对于这个问题的处理方法是将业务逻辑从客户端软件中抽取出来,封装在一个组件中。这个组件运行在一个独立的服务器上,客户端软件通过网络调用组件提供的服务以实现业务逻辑,而客户端软件的功能单纯到只负责发送调用请求和显示处理结果。在J2EE 中,这个运行在一个独立的服务器上,并封装了业务逻辑的组件就是EJB(Enterprise JavaBean)组件。

       其实说的简单一点就是我的这个项目太大了,一台机器来实现所有的功能太困难,那么我就让多个人来帮我实现。

       EJB有什么

       既然说他是javaBean,那么我们就看看这几个Bean。

       SessionBean(会话Bean)

        Stateful Session Bean

        即EJB能够为同一个客户端在多次请求之间保持状态信息比如:基于某种原因(可能是因为系统需要支持多种不同类型的客户端)EJB需要识别不同的客户端,分别为不同的客户端保持与其对应的状态信息,例如购物。

       Stateless Session Bean

        无状态的会话bean不是说EJB不能存在状态,而是说EJB容器不会对EJB的状态做管理容器会使用实例池的方式,甚至单利的方式来实现无状态的Session
Bean因为EJB容器不会对Stateless Session Bean的状态进行管理,所以他的性能要比Stateful Session Bean的好,例如咱们的三大框架spring就是用单例实现的,他不再对状态惊醒管理。


       MDB(Message Driver Bean)

       如果要不断监听一个队列中的消息,通常我们需要写一个监听程序,这需要一定的开发量,而且如果要实现高并发处理,也不易扩展,而MDB则自动实现了该功能,简单点讲,MDB的应用部署到jboss后,能自动监听目标队列,一旦有消息接收,会触发onMessage事件,开发人员可以在该事件处理中扩展自己的业务逻辑.


        定义客户端访问接口

        远程客户端

       他可以在不同的机器或者jvm金成中,可以是web组建,应用客户端,其他的企业Bean,为了创建远程的EJB,必须创建一个  @Remote

       本地客户端:为了创建远程的EJB,必须创建一个@local

        WebService客户端:只能访问无状态的会话Bean


      EJB项目创建

       接下来我们创建一个简单的EJB项目,并且去实现一个Demo

       MyEclipse-->New-->EJB Project,如下图

       


       因为我们是一个简单的demo,这里先不需要对数据进行持久化。所以注意下边的红框中的选择。新建好项目后如下图:

      


        然后我们新建一个package,并新建一个接口FirstEjb和一个实现类FirstEjbBean。代码如下:

<span style="font-size:18px;">public interface FirstEjb{

public String saySomething(String name);
}
</span>
<span style="font-size:18px;">@Stateless
@Remote(FirstEjb.class)
public class FirstEjbBean implements FirstEjb {

public String saySomething(String name) {
return "您好" + name;
}

}</span>
        这样一个简单的EJB项目就算是建好了。先简单的解释一下,@Stateless表示这是一个无状态的会话Bean,@Remote表示他是一个远程调用。至于里边的FirstEjb.class可以不写,不写默认是FirstEjb。
       启动EJB项目。

      在Jboss的服务中添加依赖项。也就是我们的ejb_demo01,然后启动该服务,当我们看到如下界面的时候,就代表启动成功。

     


         是不是非常的简单,具体客户端怎么调用,和我们说的一些javaBean在EJB中有什么意义,我们下篇博客再讨论。

      
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: