JBOSS笔记(二):第一个 网络接口的无状态会话Bean

 

  开发第一个EJB3.0的demo,国际惯例,从helloworld开始,打开eclipse,新建一个java项目。

  

    项目名称EJB_Demo1,添加EJB所需要的jar包,在jboss安装目录下的子目录client目录下,把改目录下所有jar文件添加进项目里。

    新建一个接口HelloWorld

package com.lmy.ejb3;



public interface HelloWorld {



    public String sayHello();

}

    添加类HelloWorldBean实现该接口

package com.lmy.ejb3.impl;

import javax.ejb.Remote;

import javax.ejb.Stateless;

import com.lmy.ejb3.HelloWorld;

@Stateless                    //指明HelloWorldBean是一个无状态会话bean

@Remote(HelloWorld.class)    //指定是一个远程接口

public class HelloWorldBean implements HelloWorld{



    @Override

    public String sayHello() {

        

        return "Hello World!";

    }



}

类写好了,接下来发布到jboss里面,在项目上右击→Extport→jar file把项目打包成jar,启动jboss,然后把jar文件放到jboss安装目录下的server/default/deploy目录下,jboss会对它进行部署并输出部署信息,如果没有错误则代表发布成功。(先启动jboss再加jar文件还是先加jar文件再启动jboss都是一样的,不过先启动jboss可以看到jar文件添加之后的部署信息)

 

既然发布成功了,肯定就要调用了,在项目下新建一个类 TestEJB

package com.lmy.test;





import javax.naming.InitialContext;



import com.lmy.ejb3.HelloWorld;



public class TestEJB{

    

    /**

     * 客户端调用EJB

     * @param args

     */

    public static void main(String[] args) {

        Properties pros = new Properties();

        

        //设置JNDI的工厂,参数1固定,参数2 JBOSS的JNDI连接工厂

        pros.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");

        //设置服务器的URL,参数1固定,参数2 连接字符串

        pros.setProperty("java.naming.provider.url", "localhost:1099");

        try {

            InitialContext ctx = new InitialContext(pros);



            HelloWorld helloworld = (HelloWorld)ctx.lookup("HelloWorldBean/remote");

           System.out.println(helloworld.sayHello());

        } catch (Exception e) { 

            e.printStackTrace();

        }

    }

}

运行程序,输出:Hello World!

你可能感兴趣的:(jboss)