У меня есть одноэлементный компонент Spring, который создает пару задач ( java.util.concurrent.Callable
) в время выполнения, чтобы выполнять свою работу параллельно. Прямо сейчас Callable
определены как внутренние классы в одноэлементном компоненте, и одноэлементный компонент создает их просто путем создания их экземпляров с помощью new Task (in)
, где в
- параметр, известный только во время выполнения.
Теперь я хочу извлечь внутренний класс Task в обычный класс верхнего уровня, потому что я хочу сделать метод Task call ()
транзакционным, поэтому мне нужно, чтобы он был bean-компонентом Spring.
Думаю, мне нужно предоставить моему синглтону некую фабрику Task
s, но задачи должны быть прототипами Spring beans, которые принимают значение времени выполнения в качестве параметра конструктора. Как я могу это сделать?