使用MyEclipse开发Java EE应用:开发EJB 3 Stateless Session Bean(二)
本文承接上篇,继续为大家介绍使用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的消息。
4.测试Bean
在测试之前,需要在包中创建一个新的Java测试类。
右键单击该程序包,然后选择New > Class。
在“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之后,可以将其视为本地实例,然后简单地调用它。
5.资源
慧都16周年·技术服务月,软件商城优惠券不限量免费领取,购MyEclipse/CodeMix享折上折>>>
想进一步了解MyEclipse?知你所需,解你所惑!
想与更多人聊MyEclipse?加入MyEclipse中国(官方2):742336981畅所欲言吧!
想及时获取MyEclipse资讯?扫描下方二维码,MyEclips信息跟你走!