基于jboss的ejb3开发入门总结
1.关于jboss版本
刚开始使用的是5.0以上版本,每次启动均报错,后来采用jboss-4.2.3.GA-jdk6版本才能够正常运行.
在eclipse中设置jboss服务器时需要重新指定jboss jdk name.
如果使用默认myeclipse jdk, 在myeclipse中启动jboss会报错.
而独立运行run.bat启动是没有问题地,why?
2.完整的ejb应用程序开发一般分为两部分:
服务器端的ejb程序,这部分程序一般发布在远程的j2ee服务器端,比如jboss
客户端程序.如jsp/servlet,java application。基于jndi获取j2ee服务器端ejb提供的服务.非分布式环境下,客户端程序和EJB是在同一容器中的
ejb是基于RMI和JNDI的
3.Session Bean有两种接口:remote接口和local接口(对应@Remote和@Local)
romote接口:允许来自EJB容器外的程序访问
local接口: 允许来自相同EJB容器的程序访问,没有分布式开销,提高了性能.
ps:调用local接口时要保证客户端程序和EJB程序在同一EJB容器中.比如:可以采用jsp作客户端的调用程序,并发布在jboss中
4.Stateful session Bean和Stateless session Bean
前者每次lookup操作都会重新创建一个bean实例,适用用于需要保存对象状态情形,比如用户购物车
后者实例化后被放入实例池中被所有用户共享.
5.实体bean简单例子
6.学习资料
黎活明《EJB3.0实例教程》
《EJB3.0 In Action》
http://blog.youkuaiyun.com/pathuang68/archive/2009/04/24/4108254.aspx
http://blog.youkuaiyun.com/caterpillar_here/archive/2008/10/16/3087399.aspx