У меня есть какой-то старый код, который должен позволять нам сначала планировать задачи Quartz (которые сохраняют базу данных), а затем выполнять Quartz. Проблема в том, что код задания выглядит примерно так:
class MyJob extends Job {
def execute(context: JobExecutionContext) {
ServiceA.m() <-- Singleton call
...
ServiceB.n() <-- Singleton call
}
}
Я пытался реорганизовать наш код, чтобы сделать его более дружественным к инверсии управления, поэтому я хотел бы сделать ServiceA
и ServiceB
не-одиночки. Но я не вижу, как ... Quartz Job
должен иметь конструктор 0-args, поэтому я не могу передать свои зависимости таким образом (что было бы идеально).
Любой обходной путь, о котором я не знаю? Я хотел бы избежать Io C фреймворков, я вполне доволен передачей своих параметров в качестве имплицитов в Scala.
Спасибо