彩票走势图

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

翻译|使用教程|编辑:陈津勇|2019-11-13 16:25:55.360|阅读 221 次

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

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

  购买MyEclipse

本文承接上篇,继续为大家介绍使用MyEclipse开发EJB 3 Stateless Session Bean的其他步骤。

3.部署Bean

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

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

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

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

  • 右键单击服务器,如果服务器未运行,选择“Start”。

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

ejbdeployconsole.png

4.测试Bean

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

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

ejbnewclassmenu.png

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


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

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

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

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

  • 单击确定。

现在,您可以将代码添加到测试客户端并运行它了。由于刚刚添加了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", "//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")。

  • 拥有Bean之后,可以将其视为本地实例,然后简单地调用它。

ejbtestclientconsole.png

5.资源

本教程的样例EJB3项目


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


想进一步了解MyEclipse?知你所需,解你所惑!

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

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


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP