Tech : 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> 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章