一、开发环境的准备
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初次见了个面。在我接下去的项目中,我会和它天天打交道,希望我们能成为好朋友。