Мне нужно перенести проект с Spring Boot 2.5.3 на 2.7.3 (и, если это важно, также Spring Cloud с 2020.0.3 на 2021.0.3 и Spring Batch с 4.3.3 на 4.3.6). Основная проблема в том, что при использовании Spring Batch и H2 я получаю эту ошибку
org.springframework.context.ApplicationContextException: Failed to start bean 'taskLifecycleListener';
nested exception is org.springframework.dao.DataAccessResourceFailureException:
Could not obtain sequence value; nested exception is org.h2.jdbc.JdbcSQLSyntaxErrorException:
Sequence "TASK_SEQ" not found; SQL statement:
select next value for TASK_SEQ [90036-214]
Так как было обновление версии H2 проблема скорее всего в моей конфигурации, а это было следующее:
spring:
batch.initialize-schema: embedded
datasource:
driverClassName: org.h2.Driver
password: password
url: jdbc:h2:mem:testdb
username: sa
platform: h2
initialization-mode: embedded
Я также пытался использовать устаревший режим совместимости в строке jdbc jdbc:h2:mem:testdb;MODE=LEGACY, но безуспешно.




Хотя моя проблема была тривиальной (я забыл скопировать cloud.task.initialize-enabled: true в новый конфиг), я обнаружил еще одну существенную проблему: spring.datasource.platform устарела и теперь является spring.sql.init.platform.
@spencergibb на самом деле кажется проблемой с spring-cloud-task