2011-02-06 130 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

你如何部署你的应用程序? – 2011-02-07 08:13:02

回答

0

我找到了解决办法。

我没有使用正确的注释。我必须使用EJB3注释。