Философия Java


Разработка EJB - часть 2


Стандартное соглашение об именах Домашних интерфейсов состоит в прибавлении слова “Home” в конец имени Удаленного интерфейса. Вот Домашний интерфейс для PerfectTime EJB:

//: c15:ejb:PerfectTimeHome.java

// Домашний интерфейс PerfectTimeBean.

import java.rmi.*; import javax.ejb.*;

public interface PerfectTimeHome extends EJBHome { public PerfectTime create() throws CreateException, RemoteException; } ///:~

Теперь вы можете реализовать бизнес логику. Когда вы создаете вышу реализацию EJB класса, вы должны следовать этим требованиям (обратите внимание, что вы должны обратиться к спецификации EJB, чтобы получить полный список требований при разработке Enterprise JavaBeans):

  1. Класс должен быть публичным (public).
  2. Класс должен реализовывать EJB интерфейс (либо javax.ejb.SessionBean, либо javax.ejb.EntityBean).
  3. Класс должен определять методы, которые напрямую связываются с методами Удаленного интерфейса. Обратите внимание, что класс не реализует Удаленный интерфейс. Он отражает методы удаленного интерфейса, но не выбрасывает java.rmi.RemoteException.
  4. Определите один или несколько методов ejbCreate( ) для инициализации вашего EJB.
  5. Возвращаемое значение и аргументы всех методов должны иметь действительны тип данных с точки зрения RMI-IIOP.

//: c15:ejb:PerfectTimeBean.java

// Простой Stateless Session Bean,

// возвращающий текущее системное время.

import java.rmi.*; import javax.ejb.*;

public class PerfectTimeBean implements SessionBean { private SessionContext sessionContext; //возвращае текущее время

public long getPerfectTime() { return System.currentTimeMillis(); } // EJB методы

public void ejbCreate() throws CreateException {} public void ejbRemove() {} public void ejbActivate() {} public void ejbPassivate() {} public void setSessionContext(SessionContext ctx) { sessionContext = ctx; } }///:~

Из-за простоты этого примера EJB методы (ejbCreate( ), ejbRemove( ), ejbActivate( ), ejbPassivate( )) оставлены пустыми. Этиметоды вызываются EJB Контейнером и используются для управления состоянием компонента. Метод setSessionContext( ) передает объект javax.ejb.SessionContext, который содержит информацию относительно контекста компонента, такую как текущая транзакция и информация безопасности.




Начало  Назад  Вперед



Книжный магазин