| 
         
     
     | 
     | 
    
  
    | 
    实战JBOSS――教你写第一个EJB----2 | 
   
  
     | 
   
  
     | 
   
  
    | 
     作者:未知  来源:月光软件站  加入时间:2005-2-28 月光软件站  | 
   
  
    编写第一个EJB:”hello,world”
    下面我们正式开始EJB编程。在编写我们的第一个EJB之前,你应该对EJB有一个大致的了解,如果没有的话,建议你先到网上找一些这方面的文章来看,否则你将无法理解下面要讲述的内容。
    远程接口
    远程接口是指对于客户端而言所能看到了调用接口
  
//HelloWorld.java package sample; /*这是一个远程接口,客户端调用这个接口来使真正的ejb工作*/ public interface HelloWorld extends javax.ejb.EJBObject {  public String hello() throws java.rmi.RemoteException; } |      Home接口
    我们可以把Home接口看做是一个制造EJB的工厂,Home接口告诉EJB容器:“嗨,我的客户要我生成一个EJB,现在我把这个任务交给你啦!”
  
//HelloWorldHome.java package sample; /*Home接口告诉EJB容器怎样生成或销毁EJB的实例*/ public interface HelloWorldHome extends javax.ejb.EJBHome {  HelloWorld create() throws java.rmi.RemoteException,javax.ejb.CreateException; } |      EJB的实现
    这里才是真正的EJB的实现
  
//HelloWorldBean.java package sample; import javax.ejb.SessionContext; /*这个类具体实现的远程接口HelloWorld*/ pubic class HelloWorldBean implements javax.ejb.SessionBean {  private SessionContext ctx;  public void setSessionContext(SessionContext ctx)  {   this.ctx = ctx;  }  pubic void ejbRemove()  {   System.out.println(“ejbRemove()”);  }  public void ejbActivate()  {   System.out.println(“ejbActivate()”);  }  public void ejbPassivate()  {   System.out.println(“ejbPassivate()”);  }  /*hello方法是实际的业务逻辑,它可以在客户端显示“hello,world”这个字符串*/  public String hello()  {   System.out.println(“hello()”);   return “hello,world”;  } } |      好了,这个会话EJB的全部代码编写完毕,下一步我们要做的是编写它的部署文件:
    ejb-jar.xml
  
<?xml version="1.0" encoding="UTF-8"?> <ejb-jar>  <description>JBoss Hello World Application</description>  <display-name>Hello World EJB</display-name>  <enterprise-beans>  <session>   <ejb-name>Hello</ejb-name>   <home>sample.HelloHome</home>   <remote>sample.Hello</remote>   <ejb-class>sample.HelloBean</ejb-class>   <session-type>Stateless</session-type>   <transaction-type>Bean</transaction-type>  </session> </enterprise-beans> </ejb-jar> |      这个ejb-jar.xml文件应放在当前项目的META-INF目录下,在本例中我将其放在 F:\projects\jbss-tutorial目录下了,当然你应该根据需要来将它放在你自己的项目目录中,为了能更清楚地让你了解ejb-jar.xml文件的位置,以下我列出了这个示例的整个目录结构:
  
   这样我们就完成了一个简单的会话EJB的编写,但其实JBOSS还提供了一个额外的配置文件:JBoss.xml,利用它可以对JBOSS服务器进行更多的定制,但由于本例实在是太简单了,因此我们可以将它省略不写。
    虽然我们完成了这个会话EJB的编写,但还有最后的一步工作要做:打包。首先我们进入当前项目的根目录:
  
| cd F:\project\jboss-tutorial |      然后执行jar命令将所有的类及ejb-jar.xml打包:
  
| jar cf HelloWorld.jar sample META-INF |      这时你会发现,在当前目录下多了一个名为HelloWorld.jar的文件,这就是我们的最终成品。图解如下:
 
  
 
  
 
  | 
   
  
     | 
   
  
     相关文章:相关软件:  | 
   
   
      |