EJB 3.0 개발 가이드 의 정시 서비스

EJB 2.1 의 규범 에서 ejbTimeout 방법 을 실현 해 야 한다.물론 ejbPassivate,ejbRemove 등 방법 도 있다.EJB 3.0 에서 당신 이 그것 을 사용 하고 싶 을 때 만 그것 을 만들어 야 합 니 다.그렇지 않 으 면 실현 할 필요 가 없습니다.이 예 는 주로 5 개의 파일 이 있 습 니 다.이 예 의 Bean 은 무 상태 세 션 Bean:NewsTimer.java:업무 인터페이스 입 니 다.NewsTimer.java:업무 실현 클래스.앞으로 우리 가 개발 할 EJB 도 모두 이렇게 명명 할 것 이다.Client.java:EJB 의 클 라 이언 트 클래스 를 테스트 합 니 다.jndi.properties:jndi 속성 파일,jdni 에 접근 하 는 기본 설정 속성 을 제공 합 니 다.Build.xml:ant 설정 파일 로 EJB 를 컴 파일,발표,테스트,제거 합 니 다.다음은 각 문서 의 내용 에 대해 소개 하 겠 습 니 다.  NewsTimer.java   package com.kuaff.ejb3.schedule;   import javax.ejb.Remote;   @Remote   public interface NewsTimer   {   public void fiveNews(); }이 인 터 페 이 스 는 fiveNews 방법 을 정의 합 니 다.이 방법 이 호출 되면 5 분 후에 콘 솔 에 뉴스 를 출력 합 니 다.JNDI 이름 을 설정 할 필요 도,설정 파일 을 쓸 필요 도 없습니다.JBOSS 가 실현 한 EJB 3.0 에 서 는 EJB 배치 파일 과 jboss 배치 파일 을 쓸 필요 가 없습니다.JBOSS 는 기본적으로 인터페이스의 전 칭 을 JNDI 이름 으로 사용 합 니 다.위의 예 에서,그것 의 전 칭 은 뉴스 Timerclass.forName()을 통 해 얻 을 수 있다.  NewsTimerBean.java   package com.kuaff.ejb3.schedule;   import java.util.Date;   import javax.ejb.Inject;   import javax.ejb.SessionContext;   import javax.ejb.Stateless;   import javax.ejb.Timer;   @Stateless   public class NewsTimerBean implements NewsTimer   {   private @Inject SessionContext ctx; public void fiveNews(){ctx.getTimer Service().createTimer(new Date().getTime()+300000),"허무맹랑 한 방송국 5 분 뉴스 프로그램:이제 5 분 이 지 났 습 니 다.또 실시 간 뉴스 프로그램의 시간 입 니 다.");}public void ejbTimeout(Timer timer){System.out.printf("시간 도착:%n%s%n",timer.getInfo());  timer.cancel();   }   }   Client.java   package com.kuaff.ejb3.schedule;   import javax.naming.InitialContext;   import javax.naming.NamingException;   public class Client   {   public static void main(String[] args) throws NamingException   {   InitialContext ctx = new InitialContext();   NewsTimer timer = (NewsTimer) ctx.lookup(NewsTimer.class.getName());   timer.fiveNews(); }}이 종 류 는 우리 가 발표 한 카운터 EJB 를 테스트 하 는 데 사 용 됩 니 다.먼저 ctx=new InitialContext()를 통 해컨 텍스트 를 얻 은 후 lookup 을 통 해 뉴스 타 이 머 를 찾 은 후 시간 을 잽 니 다.{$JBOSS 를 실행 하 세 요HOME}/bin 디 렉 터 리 에 있 는 run.bat:run Cc all,JBOSS 를 시작 합 니 다.Eclipse 의 Ant 보기에 서 ejbjar target 을 실행 합 니 다.또는 명령 행 에서 이 프로젝트 디 렉 터 리 에 들 어가 ant ejbjar 를 실행 하고 이 EJB 를 컴 파일 하여 발표 합 니 다.Eclipse 의 Ant 보기에 서 run target 을 실행 합 니 다.또는 명령 행 아래 이 프로젝트 디 렉 터 리 에 들 어가 ant run 을 실행 하고 이 EJB 를 테스트 합 니 다.

좋은 웹페이지 즐겨찾기