




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
开发EJB2.X的有状态会话Bean步骤1:新建名为CountBean的J2EE1.4工程。设置工程的源程序目录为src,目的目录output为bin。步骤2:在新建向导中,选择JBoss-IDE | EJB Components | Session Bean创建会话Bean。步骤3:设置Session Bean的各种参数,点击Finish 按钮,即可看到生成的EJB类框架代码。其中各参数解释如下:Source folder:源程序所在目录;Package:源程序的包名;Name:Session Bean类的类名;Superclass和Interfaces:取默认值即可;Select the type of the EJB:选择EJB的类型;Select the access of the EJB:选择EJB的接口类型,会话Bean通常是Remote接口;Which method stubs would you like to create? :EJB类要实现的方法,应选择Inherited abstract methods 和ejbCreate( ) method生命周期方法。步骤4:在Package Explorer中,利用EJB类的右键菜单添加商务方法。步骤5:设置Business方法的参数。完整的CountBean.java代码如下:package count;import java.rmi.RemoteException;import javax.ejb.EJBException;import javax.ejb.SessionBean;import javax.ejb.SessionContext;import javax.ejb.CreateException;public class CountBean implements SessionBean public int val;public void setSessionContext(SessionContext ctx)throws EJBException,RemoteException / TODO Auto-generated method stub System.out.println(setSessionContext();public void ejbRemove() throws EJBException, RemoteException / TODO Auto-generated method stub System.out.println(ejbRemove();public void ejbActivate() throws EJBException, RemoteException / TODO Auto-generated method stub System.out.println(ejbActivate();public void ejbPassivate() throws EJBException, RemoteException / TODO Auto-generated method stub System.out.println(ejbPassivate);public void ejbCreate(int val) throws CreateException / TODO Auto-generated method stubthis.val=val;System.out.println(ejbCreate();public int count() / TODO Auto-generated method stubSystem.out.println(count();return +val;步骤6:分别建立对应于Remote接口和Home接口的java接口文件。Remote接口代码如下:package count;import javax.ejb.EJBObject;import java.rmi.RemoteException;public interface Count extends EJBObjectpublic int count() throws RemoteException;Home接口的代码如下:package count;import javax.ejb.EJBHome;import javax.ejb.CreateException;import java.rmi.RemoteException;public interface CountHome extends EJBHomepublic Count create(int val)throws CreateException,RemoteException;结构如下:步骤7:在工程下建立Count子目录,作为没有打包的EJB模块。在Count子目录下,再新建count目录。步骤8:把bin目录中自动编译生成的class文件导入到count子目录下。步骤9:在Count子目录下建立META-INF子目录,并建立ejb-jar.xml 和jboss.xml 配置文件。ejb-jar.xml代码如下:Countcount.CountHomecount.Countcount.CountBeanStatefulContainerjboss.xml代码如下: Count Count 步骤10:在项目CountBean下建立一个ant的XML文件packaging-build.xml。在packaging-build.xml的右键菜单上执行ant命令,打包生成jar文件。packaging-build.xml代码如下:压缩完成提示信息如下:目录结构如下图:步骤11:启动jboss服务器,显示界面如下:把打包生成的Count.jar文件拷贝到C:jboss-4.0.4.GAserverdefaultdeploy路径下(不同机器,安装路径不同),jboss服务器如果成功部署该Count组件,则显示如下所示信息:步骤12:在新建向导中,利用向导JBoss-IDE | EJB Test Client 建立EJB客户机程序。步骤13:设置EJB客户机的各种参数。客户机代码如下:package count;import junit.framework.TestCase;import java.util.Hashtable;import javax.rmi.PortableRemoteObject;import javax.naming.Context;import javax.naming.InitialContext;public class TestCount extends TestCase public TestCount() super();protected count.CountHome home;protected Context getInitialContext() throws Exception Hashtable props = new Hashtable();props.put(Context.INITIAL_CONTEXT_FACTORY,erfaces.NamingContextFactory);props.put(Context.URL_PKG_PREFIXES,org.jboss.naming:erfaces);props.put(Context.PROVIDER_URL, jnp:/localhost:1099);Context ctx = new InitialContext(props);return ctx;protected count.CountHome getHome() throws Exception Context ctx = this.getInitialContext();Object o = ctx.lookup(Count);count.CountHome intf = (count.CountHome) PortableRemoteObject.narrow(o,count.CountHome.class);return intf;protected void setUp() throws Exception this.home = this.getHome();public void testCount() try Count count=new Count5; int countVal=0; System.out.println(Instantiating Beans .); for(int i=0;i5;i+) counti=this.home.create(countVal); countVal=counti.count(); System.out.println(countVal); Thread.sleep(500); System.out.println(Calling count() on Beans .); for(int i=0;i5;i+) countVal=counti.count(); System.out.println(countVal); Thread.sleep(500); for(int i=0;i5;i+) counti.remove(); catch(Exception e) e.printStackTrace(); 步骤14:运行客户机程序TestCount.java。出现错误信息是因为设置Contex的类没有找到。因为根据JBoss文档,Client目录的类库是专门为运行客户机程序设立的。简单的解决办法就是添加JBoss的Client目录下的所有类库到工程的路径中。步骤15:在工程的右键
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年数控高精度内外圆磨床项目建议书
- 安全培训教学方法改革课件
- 广东省【中职专业高考】2025年中职高考对口升学(理论考试)真题卷【轻工纺织大类】模拟练习
- “百万英才汇南粤”2025年佛山市高明区公开招聘中小学教师(第四场)考前自测高频考点模拟试题带答案详解
- 2025贵州贵州省福泉市引进教育系统高层次人才20人考前自测高频考点模拟试题及答案详解(必刷)
- 2025年棕、藤、草制品项目合作计划书
- IN-1130-Standard-生命科学试剂-MCE
- 2025年羟丙纤维素项目发展计划
- 2025广西壮族自治区中医骨伤科研究所广西骨伤医院招聘实名编制工作人员(高级职称)3人考前自测高频考点模拟试题含答案详解
- GW7647-Standard-生命科学试剂-MCE
- 危险货物道路运输规则第4部分:运输包装使用要求(JTT617.4-2018)
- 2024年四川省成都市中考数学真题及答案解析
- 部队军事体能训练课件
- 狗猫鼠全文赏析课件
- 国有企业外部董事个人履职报告
- 船舶拆解资金管理办法
- 皮带机安全知识培训
- 增值税发票培训知识课件
- 2025年对酒驾醉驾问题谈心谈话记录内容范文
- 【《以儿歌为载体的小班幼儿生活自理能力提升路径分析》11000字】
- 2025年《3~6岁儿童学习与发展指南》试题(+答案)
评论
0/150
提交评论