首页 > 代码库 > 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^63到2^63-1。一般来说int-2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647)的主键就够用了吧。不知道那个说bigint太小的,装不下上海人数的是什么想的。
Ejb