首页 > 代码库 > Ejb

Ejb

EJB中的三种javaBean

一种是会话Bean------>负责业务逻辑处理。

????????????????????????????????????????---------------------à无状态 Bean-à 多个用户共享一个Bean

????????????????????????????????????????---------------------à有状态Bean--à针对某一个用户提供一个实例????????每次调用都是一个新的实例????

一种是实体Bean------>负责对应数据库的操作。这属于JPA规范中的定义。

一种消息Bean

Ejb项目需要部署在E:\wildfly-8.1.0.Final\standalone\deployments中

(图片非本人原创。截图的原位置。貌似也忘了)

?

分布式特点

(图片非本人原创。截图的原位置。貌似也忘了)

?

Session bean

针对没有状态的javaBean

@Remote:指实现的接口是远程接口。,直接lookup该绑定的名称就行了

@Local:实现的接口是本地接口。

打包成jar的时候就是 实现类名"Bean/"local"或者"remote"

1.提供了是否实现了远程接口。如果实现了远程接口那么就允许远程/本地客户端来调用。用在不在同一个虚拟机中来判断是否是远程

2.默认实现了本地接口,只允许本地客户端来调用他(将ejb应用打包成war就相当于本地服务器中调用)

3.远程和本地Session Bean同时实现了远程和本地接口。如果远程和本地接口中的方法相同,那么久可以直接在远程和本地的JVM中进行切换,而不需要改变程序。

?

在打包过程,可能需要将第三方jar导入到jar包中。

我们可以修改jar中的manifest文件,添加一个Class-Path的Url。Class-Path的和Url之间需要空格隔开以,的形式分开多个jar.然后最后面价格回车换行

EJB应用目录

|--com(自己的Ejb类包)

|--其他三方jar包(其他的第三方jar包)

|--manifest文件

如果多个Ejb都使用了同一个jar的时候修改manifest文件的后,直接讲第三方jar包放在外面。

这里暂时不是讨论打包成ear文件

深入研究Ejb就能延伸到JPA,JDNI,JMS…以后继续补充。

话说mysql的bigint范围是-2^632^63-1。一般来说int-2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647)的主键就够用了吧。不知道那个说bigint太小的,装不下上海人数的是什么想的。

Ejb