Dropwizard日d计划任务与休眠对象

时间:2018-08-28 14:19:43

标签: java hibernate dropwizard jdbi sundials

我的dropwizard项目中有此日have任务:

@SimpleTrigger(repeatInterval = 10, timeUnit = TimeUnit.SECONDS)
public class GitlabImporter extends Job {

private static BranchDAO branchDAO;

    @Override
    @ExceptionMetered
    public void doRun() throws JobInterruptException {

        branchDAO = (BranchDAO) SundialJobScheduler.getServletContext().getAttribute("BranchDAO");

        String jobId = UUID.randomUUID().toString();

        try {
            ...
            log.info(branches.toString());
        } catch (Exception e) {
            log.error(e.getLocalizedMessage());
        }
    }
}

我尝试在Sceduler任务中使用我的DAO,我想遵循日d文档如何加载对象,但似乎无法正常工作。 在我的日d任务中使用Hibernate项目的正确方法是什么?

谢谢

1 个答案:

答案 0 :(得分:1)

一种实现此目的的方法是通过在YourDropwizardApplication类的run()方法中设置BranchDAO属性-

environment.getApplicationContext().setAttribute("BranchDAO", new BranchDAO());