2011-02-06 7 views
2

JBoss5.1.x AS, EJB3.0을 사용하고 있습니다. 내 배포에 Quartz를 사용하여 작업을 추가하려고합니다. 새 서비스를 등록 중이므로 응용 프로그램 배포시 스케줄러를 초기화합니다.서비스가 시작시 등록되지 않았습니다.

제 문제는 앱을 배포 할 때 서비스가 등록되지 않는다는 것입니다.

내 코드 :

인터페이스 :

public interface ComponentMonitoringService 
{ 
    void create() throws Exception; 
    void start() throws Exception; 
    void stop(); 
    void destroy(); 
} 

서비스 :

@Service(objectName = "com.mirs.ecms.timer:service=ServerStartupManager") 
@Management(ComponentMonitoringService.class) 
public class ServerStartupManager implements ComponentMonitoringService 
{ 
    private SchedulerFactory schedulerFactory = null; 
    private Scheduler scheduler = null; 
    Logger logger = Logger.getLogger("ecms.log"); 

    public void create() throws Exception 
    { 
    } 

    public void start() throws Exception 
    { 
    // Write your startup code 

    initScheduler(); 
    } 

    private void initScheduler() throws ParseException, SchedulerException 
    { 
     schedulerFactory = new StdSchedulerFactory(); 
     scheduler = schedulerFactory.getScheduler(); 

     JobDetail startECMSJob = new JobDetail("startECMSJob", "group1", StartECMSJob.class); 
     CronTrigger trigger1 = new CronTrigger("cronTrigger", "TriggersGroup1", "0 0/5 * * * ?"); 

     scheduler.scheduleJob(startECMSJob, trigger1); 

     scheduler.start(); 
    } 

    public void stop() 
    { 
     try 
     { 
      scheduler.shutdown(); 
     } 
     catch (Exception e) 
     { 
      logger.error("ServerStartupManager Failure occured during Manager stop", e); 
     } 
    } 

    public void destroy() 
    { 
    } 
} 
+0

앱을 어떻게 배포합니까? –

+0

MyEclipse .. automatticly – rayman

답변

0

내가 해결책을 발견했다.

올바른 주석을 사용하지 않았습니다. EJB3 주석을 사용해야한다.

관련 문제