java - 服务未在启动时注册

标签 java jboss ejb-3.0 quartz-scheduler jboss5.x

我正在使用 JBoss5.1.x AS,EJB3.0。我正在尝试将作业(使用 Quartz)添加到我的部署中。我正在注册一个新服务,因此它将在应用程序部署时初始化调度程序。

我的问题是,当我部署我的应用程序时,该服务从未注册过。

我的代码:

接口(interface):

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()
    {
    }
}

最佳答案

我找到了解决方案。

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

关于java - 服务未在启动时注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4913750/

相关文章:

java - MYSQL 8 JPA 2.0 mysql 在 JPA 保存后向当前日期添加 1 秒

java - Tomcat 7 访问 glassfish 3 上的 EJB

java - 具有相同接口(interface)的两个 EJB。这是一个好习惯吗?

java - 在 EJB 3.0 (WebLogic 11gR1) 上模拟 @Startup

java - 需要为 TextView 格式化货币

java - IntelliJ IDEA VCS插件: refresh VCS window on save

java - 如何在Jboss 7中使用jndi数据源

jboss - EJB3 注释

java - Eclipse 注释处理器不工作。哪里显示错误?

java - 咖啡因:当AsyncLoader无法刷新时,请使用过时的值