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