Spring Batch требуется PlatformTransactionManager
для применения семантики транзакций при управлении заданием и взаимодействии с хранилищем заданий.
ResourcelessTransactionManager
является реализацией без операции PlatformTransactionManager
, что означает, что не будет реальной транзакции, выполняемой с транзакционным ресурсом (отсюда и термин Resourceless
). Вы можете использовать его, когда вам действительно не нужно (или не заботится о) транзакционное поведение, например, в тестах / прототипах или при использовании нетранзакционного репозитория заданий. Этот класс предоставляется Spring Batch и не рекомендуется использовать для производства.
DataSourceTransactionManager
с другой стороны, от Spring Framework и используется для управления транзакциями с источником данных JDBC (который может быть реальной базой данных или базой данных в памяти). Этот диспетчер транзакций обычно используется в Spring Batch для хранения метаданных пакета в реляционной базе данных в качестве хранилища заданий.