Eclipse3.1.1+jboss4.0.5开发J2EE中的EJB(无状态会话Bean)

软件环境:Eclipse3.1.1+JBoss4.0.5+JBossIDE1.6.0+Lomboz

1,利用Lomboz J2EE Project新建名为j2eetest的项目,单击下一步,在源代码选项卡,单击添加文件夹,命名为src,在弹出对话框中单击确定,再单击一下步,Targeted Servers下拉列表选择JBOSS 4.0.5 ( 此为Lomboz插件Server配置文件),并单击右侧添加,Web Modules选项卡新建名为j2eewebModule,Ejb Modules选项卡下新建名为j2eeejbModule,最后单击完成按钮完成项目新建.

2,右击项目j2eetest,利用Lomboz Ejb Creation Wizard新建名为EjbTestEjb,源文件夹为:j2eetest/src,包为:j2ee,名称为:EjbTest,其他项缺省.单击完成Ejb新建.

3,右击EjbTest,在弹出菜单Lomboz J2ee上下文中选择”Add Lomboz Method”添加名为getInfo的方法,完整方法描述为:public String getInfo(),将其中”return null”修改为”return “I am Benson””.

4,右击EjbTest,在弹出菜单”Lomboz J2EE”上下文中选择”Add Ejb to Module”

5,右击Ejb模块j2eeejb,在弹出菜单中”Lomboz J2EE”上下文选择”Generate Ejb Classes”,若出现”BUILD SUCCESSFULLY”则表示部署成功.

6, 右击Ejb模块j2eeejb,在弹出菜单中”Lomboz J2EE”上下文选择”deploy Module”,若出

7,右击EJB模块j2eeejb,利用”Lomboz EJB Test Client Wizard”编写客户端测试EJB,源文件夹为j2eetest/src,包为:j2ee,超类缺省,EJB类名为,Test,Ejb Home:j2ee.EjbTestHome,Ejb Interfacej2ee.EjbTest(注意:Ejb HomeEjb Interface一定要人为输入,单击右侧Browse按钮无效),Target Server:JBOSS 4.0.5 .

8,打开Test.java文件,在注释//System.out.println(myBean.callYourMethod());后插入System.out.println(myBean.getInfo());并保存.

9,通过外部安装的Jboss安装目录下的bin/run.bat启动Jboss,(本人配置的Lomboz J2EE ViewRun Server不能启动JBoss,但是能Stop Server.注意:通过外部启动一样达到目的 ).

10,CMD界面呈现:Started in 1m :33s:453ms字样,说明服务器已启动,右击Test.java文件,在弹出菜单运行方式上下文菜单中选择”Java应用程序”,若控制台出现文本:I am Benson,则说明测试成功.笔者在测试成功前出现异常信息:

Javax.naming.nameNotFoundException:***Ejb not bound,从字面上看很明显是JNDI(未绑定)问题,许多网友从上下文命名调查,因为所有配置文件自动生成相关资源,不可能有代码错误.这里主要是Lomboz配置JBoss405.server资源时,Client ClassPath少添加了类库jbossall-client.jar,但是并不是所有Ejb not bound问题都是因为缺少类库引起的.为方便大家对比,我把. JBoss405.server文本粘贴如下:

 

<serverDefinition

        name="JBOSS 4.0.5 "

        ejbModules="true"

        webModules="true"

        earModules="true">

<property id="serverRootDirectory"

       label="Application Server Directory:"

       type="directory"

       default="D:/jboss- 4.0.5 " />

<property id="serverAddress"

       label="Address:"

       type="string"

       default="127.0.0.1" />

<property id="serverPort"

       label="Port:"

       type="string"

       default="8080" />

<property id="serverConfig"

       label="Server Configuration (minimal/default/all):"

       type="string"

       default="default" />

<property id="classPathVariableName"

       label="Classpath Variable Name:"

       type="string"

       default="JBOSS405" />

<property id="classPath"

       label="Classpath Variable:"

       type="directory"

       default="D:/jboss- 4.0.5 " />

<serverHome>${serverRootDirectory}</serverHome>

<webModulesDeployDirectory>${serverRootDirectory}/server/${serverConfig}/deploy</webModulesDeployDirectory>

<ejbModulesDeployDirectory>${serverRootDirectory}/server/${serverConfig}/deploy</ejbModulesDeployDirectory>

<earModulesDeployDirectory>${serverRootDirectory}/server/${serverConfig}/deploy</earModulesDeployDirectory>

<jndiInitialContextFactory>org.jnp.interfaces.NamingContextFactory</jndiInitialContextFactory>

<jndiProviderUrl>jnp://${serverAddress}:1099</jndiProviderUrl>

<startClass>org.jboss.Main</startClass>

<startWorkingDirectory>${serverRootDirectory}/bin</startWorkingDirectory>

<startVmParameters></startVmParameters>

<startProgramArguments>-c ${serverConfig}</startProgramArguments>

<stopClass>org.jboss.Shutdown</stopClass>

<stopWorkingDirectory>${serverRootDirectory}/bin</stopWorkingDirectory>

<stopVmParameters></stopVmParameters>

<stopProgramArguments>-S</stopProgramArguments>

<serverClassPath>

       <jar type="variable">JDK_TOOLS</jar>

       <jar type="variable">${classPathVariableName}/bin/run.jar</jar>

       <jar type="variable">${classPathVariableName}/bin/shutdown.jar</jar>

       <jar type="variable">${classPathVariableName}/lib/jboss-system.jar</jar>

       <jar type="variable">${classPathVariableName}/lib/concurrent.jar</jar>

       <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/jboss.jar</jar>

       <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/jnpserver.jar</jar>

       <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/jpl-pattern.jar</jar>

       <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/jpl-util.jar</jar>

       <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/jboss-transaction.jar</jar>

       <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/bcel.jar</jar>

       <jar type="variable">${classPathVariableName}/lib/jdom.jar</jar>

       <jar type="variable">${classPathVariableName}/lib/xercesImpl.jar</jar>

       <jar type="variable">${classPathVariableName}/lib/xml-apis.jar</jar>

       <jar type="variable">${classPathVariableName}/lib/gnu-regexp.jar</jar>

       <jar type="variable">${classPathVariableName}/lib/getopt.jar</jar>

       <jar type="variable">${classPathVariableName}/server/default/lib/jboss-j2ee.jar</jar>

       <jar type="variable">${classPathVariableName}/server/default/lib/javax.servlet.jar</jar>

</serverClassPath>

<clientClassPath>

       <jar type="variable">${classPathVariableName}/client/jboss-j2ee.jar</jar>

       <jar type="variable">${classPathVariableName}/client/jnp-client.jar</jar>

       <jar type="variable">${classPathVariableName}/client/jboss-client.jar</jar>

       <jar type="variable">${classPathVariableName}/client/jboss-common-client.jar</jar>

       <jar type="variable">${classPathVariableName}/client/jbosssx-client.jar</jar>

       <jar type="variable">${classPathVariableName}/client/log4j.jar</jar>

       <jar type="variable">${classPathVariableName}/server/default/lib/jnpserver.jar</jar>

       <jar type="variable">${classPathVariableName}/client/jmx-client.jar</jar>

       <jar type="variable">${classPathVariableName}/client/namespace.jar</jar>

       <jar type="variable">${classPathVariableName}/client/jboss-xml-binding.jar</jar>

       <jar type="variable">${classPathVariableName}/client/jbossall-client.jar</jar>

</clientClassPath>

<projectClassPath>

       <jar type="variable">JDK_TOOLS</jar>

       <jar type="variable">${classPathVariableName}/bin/run.jar</jar>

       <jar type="variable">${classPathVariableName}/bin/shutdown.jar</jar>

       <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/javax.servlet.jar</jar>

       <jar type="variable">${classPathVariableName}/lib/jboss-system.jar</jar>

       <jar type="variable">${classPathVariableName}/lib/concurrent.jar</jar>

       <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/jboss.jar</jar>

       <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/jnpserver.jar</jar>

       <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/jpl-pattern.jar</jar>

       <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/jpl-util.jar</jar>

       <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/jboss-transaction.jar</jar>

       <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/bcel.jar</jar>

       <jar type="variable">${classPathVariableName}/server/default/lib/jboss-j2ee.jar</jar>

</projectClassPath>

<adminTool>

       <web><deploy /><undeploy />

       </web>

       <ejb><deploy /><undeploy />

       </ejb>

       <ear><deploy /><undeploy />

              <webModule><deploy /><undeploy />

              </webModule>

              <ejbModule><deploy /><undeploy />

              </ejbModule>

       </ear>

</adminTool>

<adminToolPath>

</adminToolPath>

</serverDefinition>

本文系原创,转载请注明出处,谢谢!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值