一、开发环境的准备
???? Eclipse + JDK 1.7 + JBoss 4.2
?
二、编写自己的第一个HelloWorld程序
??? step 1:在Eclipse中新建一个EJB Project,项目名称取为HelloWorld
??? 在这里,我们需要注意:runtime和EJB version,如果没有runtime,我们需要新建,选择我们下载的JBoss目录;对于EJB version,我们使用3.0,如果JBoss版本比较低,是不支持高版本的EJB的!
??? 完成上面的步骤之后,Next到如下图:
??? 这里我们需要选中Generate ejb-jar.xml,然后Finish,项目创建成功。项目目录如下图所示:
???
??? step 2: 选中ejbModule,创建EJB类(Session Bean),如下图:
?
??? 输入包名、类名以及选中Remote,点击Finish完成Session Bean的创建。
???
??? step 3: 修改生成类的相关内容
??? 修改HelloWorldRemote接口如下图:
??? 修改HelloWorld如下图:
???
??? step 4:导出EJB包
?
??? 在这里选择输出EJB包的路径,Finish。
???
??? step 5:部署上一步导出的EJB包
??? 将导出的EJB包拷到JBoss的server\default\deploy目录下,然后启动服务。
???
??? step 6:EJB调用
??? 在项目中创建一个包含main方法的测试类,加入如下代码:
??????? Properties props = new Properties();
??? ??? props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
??? ??? props.setProperty("java.naming.provider.url", "localhost:1099");
??? ??? props.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
??? ??? InitialContext ctx = new InitialContext(props);
??? ??? HelloWorldRemote testBean = (HelloWorldRemote) ctx.lookup("HelloWorld/remote");//call at localhost using "java:com/test/HelloWorld"
??? ??? int first = testBean.ejbCalculate(3);
??? ??? int second = testBean.ejbCalculate(3);
??? ??? StringBuffer sb = new StringBuffer();
??? ??? sb.append("Value: ").append(first).append("/").append(second);
??? ??? System.out.println(sb.toString());
刚开始的时候,在设置Properties的时候,由于自己的马虎,在网上copy过来的key和value里面包含空格,导致出现如下错误:
这里需要注意一下。
?
差不多就到这里吧,和EJB初次见了个面。在我接下去的项目中,我会和它天天打交道,希望我们能成为好朋友。