我的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项目的正确方法是什么?

谢谢

最佳答案

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

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

07-24 20:13