0

我的 dropwizard 项目中有这个日晷任务:

@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,我想按照日晷文档如何加载对象,但它似乎不起作用。在我的日晷任务中使用休眠项目的正确方法是什么?

谢谢

4

1 回答 1

1

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

environment.getApplicationContext().setAttribute("BranchDAO", new BranchDAO());
于 2018-08-31T08:47:39.347 回答