EJB入门第一个小例子

来源:互联网 发布:mysql更换引擎 编辑:程序博客网 时间:2024/05/19 03:23

EJB入门first sample

 

1、下载安装myEclipse和jboss(应用服务器)

 

jdk-> Myeclipse(配置环境变量JAVA_HOME)

jboss(配置环境变量JBOSS_HOME)

把jboss 启动添加到 myEclipse 里面

EJB入门第一个小例子

 

这样就能在myeclipse的server栏中直接启动jboss和完成服务部署。

2、创建服务端EJB并部署到jboss上

2.1 新建服务器端程序:新建ejb project

  EJB入门第一个小例子

2.2 编写接口和实现类

   在project中写一个接口;

    EJB入门第一个小例子

   写一个实现类(一般命名规则:*bean);

   public class FirstEjbBean implements FirstEjb{

 

   public String saySomething(String name) {

      System.out.println("hello,"+name);

      return "hello,"+name;

    }

}

 

2.3 配置ejb的类型和访问方式

   @stateless

   @remote

通过ctrl+shift+O自动导入包

package com.bjsxt.ejb;

 

import javax.ejb.Remote;

import javax.ejb.Stateless;

 

@Stateless

@Remote

 

public class FirstEjbBeanimplements FirstEjb {

 

   public String saySomething(String name) {

      System.out.println("hello,"+name);

      return "hello,"+name;

    }

}

此时编写完成。

 

2.4 部署服务

可以直接打一个jar包拷过去,或者通过:

在底下server第一行,右键选择add  deployment->

EJB入门第一个小例子

也可以去应用服务器对应目录下看看.

 EJB入门第一个小例子

 

部署成功。

3、创建客户端java程序,访问服务

3.1 新建java项目

3.2 添加接口文件

需要ejb的接口,将ejb项目接口打包:选中接口-》export->导出。

   然后把java包添加到类路径里去。

   EJB入门第一个小例子

3.3 添加一些需要的库文件

新建一个userlibrary,选择D:\jboss-4.2.2.GA\client下的jar包包含进去。最后在客户端程序中添加该库。

 

 EJB入门第一个小例子

  EJB入门第一个小例子

EJB入门第一个小例子

3.4 编写客户端

import java.util.Properties;

 

import javax.naming.InitialContext;

 

public class FirstEjbClient {

    publicstatic void main(String args[]) throws Exception{

         InitialContext context = new InitialContext();

      //InitialContext context = new InitialContext();

      FirstEjb firstEjb =(FirstEjb)context.lookup("FirstEjbBean/remote");

 

      String s = firstEjb.saySomething("ck");

      System.out.println(s);

 

    }

}

4、在客户端添加  jndi.properties;

 

内容:

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory

java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces

java.naming.provider.url=localhost

 EJB入门第一个小例子

注意这个文件的路径:是在src下面,不要放错了!

注意:这里需要改一下客户端程序:

   //jndi.properties不会自动读的,可以手动:

    Propertiesprops = new Properties();

   props.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("jndi.properties"));

   InitialContext context = new InitialContext(props);

      //InitialContext context = new InitialContext();

5、运行客户端

    看到结果.EJB入门第一个小例子