【EJB学习笔记】——建立一个简单的EJB应用

简介:  这里创建一个简单的EJB应用,结构如下:

 这里创建一个简单的EJB应用,结构如下:


18.png


  EJB_DEMO项目类型为EJB Project,是需要部署到JBoss上的EJB应用。EJB_DEMO_CLIENT项目类型为普通的Java Project,是用来模仿调用EJB的远程客户端。

建立EJB项目—EJB_DEMO



  New—EJB Project


19.png


  核心代码:


  EJB接口FirstEjb.java

public interface FirstEjb {
  public String saySomething(String name);
}

  实现类FirstEjbBean.java


@Stateless
@Remote
public class FirstEjbBean implements FirstEjb {
  public String saySomething(String name) {
    return "恭喜您:"+name+",您的EJB应用创建成功了!";
  }
}


 这不就是个普通的 类吗?EJB就是JavaBean,只不过它是企业级的(JavaBeanEnterprise JavaBean),EJB分为三种Bean,即会话Bean(Session Bean)、实体Bean(Entity Bean)、消息驱动Bean(Message Driven Bean),会话Bean又分为有状态的会话Bean和无状态的会话Bean,这里不再多说,后面会一一介绍。


 这个Demo中,起键作用的就是类头那两个注解:@Stateless定义这个EJB是无状态的会话Bean;@Remote定义这个EJB所实现的接口是用来被远程调用的。


 至此,服务端的EJB应用就建立好了,跟部署普通的java web项目一样,可以把它部署到JBoss上了。



建立客户端—EJB_DEMO_CLIENT



 New—Java Project

20.png


 客户端既然调用EJB,肯定需要它的接口,所以EJB_DEMO_CLIENT需要引用由FirstEjb.java所打的jar包,为了开发简便,也可以直接让EJB_DEMO_CLIENT引用EJB_DEMO项目,如果客户端不是运行在EJB容器中(如JBoss),则需要引用JBoss下的相关jar包(如果用的服务器是JBoss5或JBoss6的话,则引用JBoss安装目录下client中的jar包),此外,客户端还必须引用jnp-client.jar。


 建立客户端测试类FirstEjbClient.java



public class FirstEjbClient {
  public static void main(String[] args) throws Exception {
    InitialContext ctx = new InitialContext();
    FirstEjb ejb = (FirstEjb)ctx.lookup("FirstEjbBean/remote");
    String s = ejb.saySomething("Danny");
    System.out.println(s);
  }
}


  InitialContext是javax.naming包下的一个类,可以看做是一个工厂或是Spring中的BeanFactory,用来实现JNDI,所以,客户端还需要一个配置文件jndi.properties,用来配置jndi的信息。

  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应用+EJB客户端就完成了。在JBoss启动的情况下,运行一下客户端,是不是成功调用EJB并且输出信息了呢?


21.png



相关文章
|
10月前
|
开发框架 Java 中间件
【中间件】——EJB学习总结
公共服务框架:支持大量的、由应用服务器提供的系统级服务
|
消息中间件 Java 应用服务中间件
【EJB学习笔记】——JMS和消息驱动Bean
 认识消息驱动Bean之前,先了解一下JMS。
【EJB学习笔记】——JMS和消息驱动Bean
|
XML 关系型数据库 Java
|
IDE Java 开发工具
|
Java 数据库连接 数据处理