¿Es posible registrar un trabajo de cuarzo para usar siempre la misma instancia de IJob
inyectada por DI container Unity? Tengo una instancia única "Monitor" de una clase Monitor
procedente de la Unidad DI, cosa que me registré como:Quartz, Unity & .NET
container.RegisterType<IMonitor, Monitor>(new ContainerControlledLifetimeManager())
y mi IJob
aplicación espera tener esa instancia del monitor se inyecta en ella:
class MyJob : IJob {
...
[Dependency] IMonitor monitor {get; set;}
...
void Execute()
...
}
pero cuando se activan los eventos de cuarzo, se llama a la implementación IJob.Execute()
antes de inyectar la dependencia. ¿Cómo debo hacer que esto funcione? ¿Debería considerar otros contenedores DI o Schedulers en su lugar?
Gracias
Bueno, no estoy interesado en la celebración en la misma instancia IJob, lo que quiero es tener la misma IMonitor inyectado en cada nueva instancia IJob ... – j040p3d20
tienda la referencia a su 'Monitor' en JobDataMap o implemente su propia JobFactory. – Dmitry
La interfaz 'StatefulJob' ha quedado en desuso ... recomienda utilizar anotaciones http://quartz-scheduler.org/documentation/quartz-2.x/new-in-quartz-2 – Jaider