Spring Batch не запускается при импорте сценариев H2 SQL - PullRequest
0 голосов
/ 03 февраля 2020

Я пытаюсь запустить приложение Spring Batch для создания пакетных заданий.

My application.properties, как показано ниже:

spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:mem:localhost;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.username=admin
spring.datasource.password=p@ssw0rd
spring.datasource.schema=schema-hsqldb.sql

Полученная ошибка показана ниже:

Caused by: org.springframework.boot.context.properties.source.InvalidConfigurationPropertyValueException: Property spring.datasource.schema with value 'class path resource [schema-hsqldb.sql]' is invalid: The specified resource does not exist.

Насколько я знаю, schema-hsqldb.sql существует в classpath /org/springframework/batch/core/schema-hsqldb.sql.

Загрузочное приложение Spring работает, когда я закомментировал spring.datasource.schema=schema-hsqldb.sql. Нужно ли вручную импортировать скрипты SQL? Если да, то как мне это сделать?

1 Ответ

0 голосов
/ 03 февраля 2020

Ваша проблема в том, что вы используете драйвер H2 со схемой H SQL. H2 и H SQL разные продукты. Вам также необходимо использовать схему H2:

spring.datasource.schema=/org/springframework/batch/core/schema-h2.sql

При этом вам не нужно настраивать источник данных для встроенных баз данных с помощью Spring Boot, источник данных будет настроен автоматически. Вот выдержка из раздела Поддержка встроенных баз данных справочной документации:

Spring Boot может автоматически настраивать встроенные базы данных H2, H SQL и Derby. Вам не нужно указывать URL-адреса подключения. Вам нужно только включить зависимость сборки от встроенной базы данных, которую вы хотите использовать.

...