现在初次接触EJB,对于EJB的技术简介和经典理论,我们这里不详细讲述,今天我们主要介绍EJB中两种访问方式以及在这个demo中遇到的问题和解决方法。
EJB支持两种客户端的访问,一种是远程客户端访问,以及客户端与其调用的EJB对象不在一个JVM进程中,另外一种就是本地访问,和第一种相反,客户端和EJB对象同在一个JVM进程中。首先我们要知道最基础的知识,远程访问我们通过注解@Remote来定义企业Bean,本地访问,我们通过@Local来定义。在这里关于远程客户端和本地客户端的特点,我们不介绍了,内容很好理解。下面我们用两个时序图来表示这两种调用方式,由此来分析两种不同访问方式的区别:
远程访问调用方式:
本地访问调用方式:
从时序图中可以很明显的看出区别在于本地访问客户端方式中不需要进行序列化和反序列号,只需要直接调用对应的方法即可。对于远程方式采用传值和本地方式采用传址意义不同就在于传值方式,本地客户端访问和远程客户端访问,对象会发生变化,而传地址方式,因为操作对象只需要知道地址,所有不管在什么样客户端访问都可以找到相应的对象,所以对象不会发生变化。
安装JBoss和开发部署程序这里不详细介绍了,重点放在Demo实现过程中。
首先建立EJB Project项目,开发服务端:
我们需要编写一个接口和一个实现类: