使用MyEclipse开发Java EE应用:开发EJB 3 Stateless Session Bean(二)

本教程介绍了EJB 3 Stateless Session bean的开发过程。通过本教程,您将学习如何创建创建EJB 3项目、创建无状态会话bean、部署和测试bean。

下载MyEclipse  

3.部署Bean

部署和运行步骤是通过使用MyEclipse将Bean部署到符合Java EE 6的应用程序服务器来完成的。本教程使用TomEE。

注意:必须在TomEE system.properties文件中禁用黑名单,以允许远程调用EJB。打开以下文件:

  • 在“Servers”视图中右键单击TomEE server,然后选择Add/Remove Deployments。

  • 在可用列中选择SampleEJBProject,单击“Add”,然后单击“Finish”。

使用MyEclipse开发Java EE应用:开发EJB 3 Stateless Session Bean(二)
  • 右键单击服务器,如果服务器未运行,选择“Start”。

  • 应用程序服务器启动,并向控制台视图显示有关成功部署Session Bean的消息。

ejbdeployconsole.png

4.测试Bean

在测试之前,需要在包中创建一个新的Java测试类。

  • 右键单击该程序包,然后选择New > Class。

ejbnewclassmenu.png
  • 在“Name”字段中输入MyBeanClient,然后选择Public static void main复选框,让MyEclipse为其生成主方法。单击Finish。

使用MyEclipse开发Java EE应用:开发EJB 3 Stateless Session Bean(二)

  • 在将代码添加到客户端并运行之前,需要将openejb-client-4.7.4.jar添加到构建路径。该JAR来自TomEE库文件夹,是可实现EJB远程调用规范的客户端。

  • 右键单击项目,然后选择Build Path> Configure Build Path。

  • 单击“Libraries”选项卡,然后单击“Add External JARs”。

使用MyEclipse开发Java EE应用:开发EJB 3 Stateless Session Bean(二)

  • 导航到TomEE安装文件夹,然后导航到lib文件夹,然后双击openejb-client-4.7.4.jar。

  • 单击确定。

使用MyEclipse开发Java EE应用:开发EJB 3 Stateless Session Bean(二)

现在,您可以将代码添加到测试客户端并运行它了。由于刚刚添加了JAR,实际的代码非常简单。

  • 双击MyBeanClient,并将代码替换为以下代码。按Ctrl+S保存。

package sampleejbproject; import java.util.Properties; import javax.naming.InitialContext;import javax.naming.NamingException; public class MyBeanClient { public static void main(String[] args) {try {Properties p = new Properties();p.put("java.naming.factory.initial", "org.apache.openejb.client.RemoteInitialContextFactory");p.put("java.naming.provider.url", "http://localhost:8080/tomee/ejb"); InitialContext ctx = new InitialContext(p);IMyBean bean = (IMyBean) ctx.lookup("MyBeanRemote");bean.doSomething();} catch (NamingException e) {e.printStackTrace();}}}

在上面的代码中有一些关键的事情需要注意:

  • 代码将返回的Bean不是转换为MyBean,而是MyRemoteBean接口,因为它正在从JNDI上下文请求远程Bean。如上所述,不同的本地/远程接口公开的方法可能会有所不同,因此需要坚持使用所请求的接口。

  • TomEE对没有指定名称绑定的EBJ使用默认的JNDI名称绑定,如下面的截图。注意,默认名称已在日志中打印出来。此默认名称因应用程序服务器而异,并且大多数人会使用@Stateless批注的maptedName值在所有应用程序服务器之间指定新的绑定。例如:@Stateless(name=”MyBean”, mappedName=”ejb/MyBean”)。

使用MyEclipse开发Java EE应用:开发EJB 3 Stateless Session Bean(二)
  • 拥有Bean之后,可以将其视为本地实例,然后简单地调用它。

ejbtestclientconsole.png

5.资源

本教程的样例EJB3项目

16周年·技术服务月,软件商城优惠券不限量免费领取,购MyEclipse/CodeMix享折上折>>>


想与更多人聊MyEclipse入MyEclipse中国(官方2):742336981畅所欲言吧!

想及时获取MyEclipse资讯描下方二维码,MyEclips信息跟你走!

使用MyEclipse开发Java EE应用:开发EJB 3 Stateless Session Bean(二)

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年10月10日
下一篇 2019年10月11日

相关推荐

发表回复

登录后才能评论