我与EJB第一次见面

一、开发环境的准备

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

猜你喜欢

转载自williamwhj.iteye.com/blog/2037015