Jboss源码解析

Jboss源码解析

ID:37658163

大小:350.84 KB

页数:43页

时间:2019-05-27

Jboss源码解析_第1页
Jboss源码解析_第2页
Jboss源码解析_第3页
Jboss源码解析_第4页
Jboss源码解析_第5页
资源描述:

《Jboss源码解析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、http://opensource.objectsbydesign.com/jboss/index.htmlhttp://www.mscto.com/JavaBase/2009022570733.html(本文网址)Jboss源码解析JBoss是一个非常优秀的J2EE的ApplicationServer,研究它的源代码有助于我们更好的理解J2EE的各种技术。本系列拟从四个方面分析Jboss源码:1.EJBContainer实现2.Transaction实现3.PersistenceMapping4.Client到Server端的Invocation

2、-------------------------------------------------------------------先说第1点:EJBContainer实现。1.1EJBPool我们知道,EJBContainer会维护一个EJB池,在多个client间共享,避免频繁创建销毁对象的开销。让我们来看看Jboss实现的Pool:EJB分EntityBean,MDB,Stateless/StatefulSessionBean,而Jboss中也对应的有EntityInstancePool,MessageDrivenInstancePool,

3、StatefulSessionInstancePool,StatelessSessionInstancePool.让我们先从这4个类的共同基类AbstractInstancePool看起:classAbstractInstancePool实现了接口InstancePool,该接口有以下几个方法:EntERPriseContextget()throwsException;voidfree(EnterpriseContextctx);voiddiscard(EnterpriseContextctx);intgetCurrentSize();public

4、intgetMaxSize();--------------------------------------------------------------------先对EnterpriseContext作番说明。EnterpriseContext的作用就是把具体的EJBinstance和它的metadata联系起来。该类签名为:publicabstractclassEnterpriseContext,有4个子类,EntityEnterpriseContext,MessageDrivenEnterpriseContext,StatefulSess

5、ionEnterpriseContext,StatelessSessionEnterpriseContext。分别对应4种类型的EJB。EnterpriseContext中有几个重要的成员变量。/**TheEJBinstance*/Objectinstance;/**Thecontainerusingthiscontext*/Containercon;//Container这个类是JBoss用来代表对EJB提供Transaction,Security,Pool等服务的类,我们回头还会再说。/**OnlyStatelessSessionbeansha

6、venoId,statefulandentitydo*/Objectid;/**Thetransactionassociatedwiththeinstance*/Transactiontransaction;//Transaction,我们下节再说.//Constructors--------------------------------------------------publicEnterpriseContext(Objectinstance,Containercon){this.instance=instance;this.con=con

7、;}publicObjectgetInstance(){returninstance;}publicContainergetContainer(){returncon;}publicvoidsetId(Objectid){this.id=id;}publicObjectgetId(){returnid;}publicvoidsetTransaction(Transactiontransaction){this.transaction=transaction;}publicTransactiongetTransaction(){returntrans

8、action;}privateEntityContextctx;StatefulSessionEnterpriseCont

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。