Можно ли использовать couchbase в качестве базового JobRepository для Spring-Batch? - PullRequest
0 голосов
/ 02 января 2019

У нас есть требование, при котором мы должны считывать партию типа сущности из базы данных, передавать информацию о каждой сущности в службу, которая позднее будет вызывать некоторые данные для обновления в сущности вызывающей стороны, сохранять все сущности вызывающей стороны с помощью обновленные данные. Мы думали об использовании Spring-Batch, однако мы используем Couchbase в качестве нашей базы данных, которая в конечном итоге непротиворечива и не поддерживает транзакции.

Я просматривал документацию для Spring-Batch и наткнулся на диаграмму ERD метаданных Spring Batch:

https://docs.spring.io/spring-batch/4.1.x/reference/html/index-single.html#metaDataSchema

Учитывая вышеизложенную информацию, мой вопрос: Можно ли использовать Couchbase в качестве основного хранилища заданий для Spring-Batch? Что я должен иметь в виду, если это возможно использовать? Любые ссылки на примеры реализации приветствуются.

1 Ответ

0 голосов
/ 02 января 2019

Для правильной работы Spring Batch необходимо, чтобы JobRepository был транзакционным. Вот выдержка из Конфигурации транзакций для раздела JobRepository справочной документации:

Поведение каркаса не очень хорошо определено, если методы репозитория не транзакционные.

Поскольку Couchbase не поддерживает транзакции, как вы упомянули, невозможно использовать его в качестве основного источника данных для JobRepository.

...