È possibile registrare un processo al quarzo per utilizzare sempre la stessa istanza IJob
immessa dal contenitore DI Unity? Ho un esempio singolo "Monitor" di una classe Monitor
proveniente da Unity DI, wich ho registrato come:Quartz, Unity e .NET
container.RegisterType<IMonitor, Monitor>(new ContainerControlledLifetimeManager())
e la mia IJob
implementazione si aspetta di avere tale istanza del monitor iniettato in esso:
class MyJob : IJob {
...
[Dependency] IMonitor monitor {get; set;}
...
void Execute()
...
}
ma quando gli eventi al quarzo si attivano, l'implementazione IJob.Execute()
viene chiamata prima che la dipendenza venga iniettata. Come dovrei farlo funzionare? Dovrei prendere in considerazione altri contenitori DI o Scheduler?
Grazie
Beh, io non sono interessato a trattenendo stessa istanza IJob, quello che voglio è avere la stessa IMonitor iniettato in ogni nuova istanza IJob ... – j040p3d20
Conservare il riferimento al 'Monitor' in JobDataMap o implementare il proprio JobFactory. – Dmitry
L'interfaccia 'StatefulJob' è stata deprecata ... si consiglia di utilizzare le annotazioni http://quartz-scheduler.org/documentation/quartz-2.x/new-in-quartz-2 – Jaider