EnrollmentEJB.java
上传用户:dinglihq
上传日期:2013-02-04
资源大小:99958k
文件大小:2k
源码类别:

Java编程

开发平台:

Java

  1. package day21ex.enrollment;
  2. import java.util.*;
  3. import java.io.*;
  4. import java.rmi.*;
  5. import javax.naming.*;
  6. import javax.ejb.*;
  7. import day21ex.student.*;
  8. import day21ex.course.*;
  9. public abstract class EnrollmentEJB implements EntityBean {
  10.    protected EntityContext ctx;
  11.    /* get and set methods for cmp fields */
  12.    public abstract String getEnrollmentId();
  13.    public abstract void setEnrollmentId(String id);
  14.    /* get and set methods for relationship fields */
  15.    public abstract StudentLocal getStudent();
  16.    public abstract void setStudent(StudentLocal student);
  17.    public abstract CourseLocal getCourse();
  18.    public abstract void setCourse(CourseLocal course);
  19.    /* Callback methods */
  20.    public void setEntityContext(EntityContext ctx) {}
  21.    public void unsetEntityContext() {
  22.       this.ctx = null; 
  23.    }
  24.    public void ejbActivate() {}
  25.    public void ejbPassivate() {}
  26.    public void ejbStore() {}
  27.    public void ejbLoad() {}
  28.    public void ejbRemove() throws RemoveException {}
  29.    public String ejbCreate(String studentId, String courseId) 
  30.                                        throws CreateException {
  31.       setEnrollmentId(getUniqueId());
  32.       return null;
  33.    }
  34.    public void ejbPostCreate(String studentId, String courseId) 
  35.                                        throws CreateException {
  36.       System.out.println("Order.ejbPostCreate() called");
  37.       try{
  38.          Context ctx = new InitialContext();
  39.          StudentLocalHome studentHome = (StudentLocalHome)
  40.             javax.rmi.PortableRemoteObject.narrow(
  41.                ctx.lookup("day21ex/Student"), StudentLocalHome.class);
  42.          StudentLocal student = studentHome.findByPrimaryKey(studentId);
  43.          setStudent(student);
  44.          CourseLocalHome courseHome = (CourseLocalHome)
  45.             javax.rmi.PortableRemoteObject.narrow(
  46.                ctx.lookup("day21ex/Course"), CourseLocalHome.class);
  47.          CourseLocal course = courseHome.findByPrimaryKey(courseId);
  48.          setCourse(course);
  49.       }catch (Exception e) {
  50.          e.printStackTrace();
  51.          throw new EJBException(e);
  52.       }       
  53.    }
  54.    String getUniqueId(){
  55.       return new Long(System.currentTimeMillis()).toString();
  56.    }
  57. }