Create a Quartz.NET Job with several constructor parameters

六眼飞鱼酱① 提交于 2019-12-01 04:16:08

You need to use JobFactory:

internal sealed class IntegrationJobFactory : IJobFactory
{
    private readonly IUnityContainer _container;

    public IntegrationJobFactory(IUnityContainer container)
    {
        _container = container;
    }

    public IJob NewJob(TriggerFiredBundle bundle, IScheduler scheduler)
    {
        var jobDetail = bundle.JobDetail;

        var job = (IJob)_container.Resolve(jobDetail.JobType);
        return job;
    }

    public void ReturnJob(IJob job)
    {
    }
}

And use it:

var _scheduler = schedulerFactory.GetScheduler();
var _scheduler.JobFactory = new IntegrationJobFactory(container);
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!