Soy nuevo en Quartz y voy a escribir trabajos que requieren muchos servicios/dependencias.
¿Tendría sentido crear un contexto Spring en el método de ejecución del trabajo (por lo que para cualquier trabajo nuevo habrá un contexto Spring nuevo) o es mejor crear un contexto Spark único antes de que se creen los trabajos e inyectar servicios para cualquier trabajo nuevo?
Gracias.
Eso depende de sus requisitos y preferencias.
Si tu trabajo solo comienza a una hora determinada del día, algo así como todos los días a las 3:00 am. Entonces no es importante que su contexto de primavera tarde en comenzar un par de minutos. En este caso o en cualquier otro caso en el que no sea importante el tiempo hasta que el contexto esté en funcionamiento, le sugiero que inicie el contexto cada vez que se inicie un trabajo. No tiene sentido mantener un contexto en funcionamiento durante todo el día si solo lo usará una pequeña parte de él.
Sin embargo, puedes tener muchos trabajos. Y probablemente no importa el tiempo que tarden en estar en funcionamiento. Pero si son muchos, usará mucha memoria comenzando un nuevo contexto para cada trabajo. Entonces, en este caso, le recomendaría iniciar un contexto de primavera único. Así podrás optimizar la memoria de tu servidor.
Otro caso, sería que el tiempo de inicio importa. En este caso, es mejor tener el contexto de primavera en funcionamiento, para que pueda usarlo cada vez que lo necesite casi de inmediato.