Я пытался создать пакетную программу Spring, которая должна считывать определенные данные из базы данных и записывать их в другую таблицу. Я не хочу, чтобы таблицы метаданных Spring Batch создавались в моей базе данных. Когда я попробовал это, я не смог сделать транзакции.
Я избежал таблиц метаданных, расширив DefaultBatchConfigurer
и переопределив вот так:
@Override
public void setDataSource(DataSource dataSource) {
// override to do not set datasource even if a datasource exist.
// initialize will use a Map based JobRepository (instead of database)
}
Делая это, я получаю org.springframework.dao.InvalidDataAccessApiUsageException: no transaction is in progress; nested exception is javax.persistence.TransactionRequiredException: no transaction is in progress
исключение.
Есть ли способ, которым я могу избежать таблиц метаданных и все еще использовать транзакции?