2016-12-08 3 views
0

Я новичок в весеннем пакетном и пакетном администрировании. Я застрял в сценарии, где я хочу использовать несколько источников данных. то есть один для пакетных метаданных и бизнес-схемы (таблиц приложений).Невозможно соединиться с несколькими схемами mysql в весеннем пакете admin

Я использую код ниже в своем файле batch-mysql.properties.

Для пакетного matadata таблиц

batch.jdbc.driver=com.mysql.jdbc.Driver 
batch.jdbc.url=jdbc:mysql://localhost:3306/batch 
batch.jdbc.user=root 
batch.jdbc.password=root 
batch.jdbc.testWhileIdle=true 
batch.jdbc.validationQuery=SELECT 1 
batch.drop.script=classpath:/org/springframework/batch/core/schema-drop-mysql.sql 
batch.schema.script=classpath:/org/springframework/batch/core/schema-mysql.sql 
batch.business.schema.script=classpath*:business-schema-mysql.sql 

Для применения схемы

db.driver=com.mysql.jdbc.Driver 
db.url=jdbc:mysql://localhost:3306/applicationschema 
db.user=root 
db.password=root 

если я удалить ниже строки кода batch.business.schema.script = * Путь к классам: бизнес-схема-MySQL. sql

тогда я получаю исключение, которое выше свойства не удалось найти. , если сохранить его, то он создает таблицу приложений в схеме пакетной матадаты.

ответ

0

Просто не указывайте значения недвижимости batch.business.schema.script. Попробуйте оставить его, как показано ниже:

batch.business.schema.script =

Кроме того, если вы не хотите, чтобы удалить и создать пакетные мета-таблицы каждый раз, когда запускается приложение, вы должны установить batch.data.source.init=false в вашем файле свойств пакета.

EDIT: Это как мой batch-oracle.properties файл выглядит следующим образом:

batch.database.incrementer.class=org.springframework.jdbc.support.incrementer.OracleSequenceMaxValueIncrementer 
batch.isolationlevel=READ_COMMITTED 
batch.business.schema.script= 
batch.data.source.init=false 
batch.job.service.reaper.interval=6000 
batch.schema.script=classpath:/org/springframework/batch/core/schema-drop-oracle10g.sql 
batch.jdbc.url=jdbc:oracle:thin:@localhost:1521:mydb 
batch.table.prefix=BATCH_ 
batch.lob.handler.class=org.springframework.jdbc.support.lob.DefaultLobHandler 
batch.verify.cursor.position=true 
batch.jdbc.validationQuery=SELECT 1 FROM dual 
batch.jdbc.password=mypassword 
batch.jdbc.testWhileIdle=false 
batch.jdbc.user=user 
batch.jdbc.pool.size=5 
batch.drop.script=classpath:/org/springframework/batch/core/schema-drop-oracle10g.sql 
+0

если я держать, как вы предложили, то я получаю исключение. org.springframework.beans.factory.BeanCreationException: ошибка при создании bean-компонента с именем 'org.springframework.jdbc.datasource.init.DataSourceInitializer # 0' Caused by: org.springframework.jdbc.datasource.init.CannotReadScriptException: не удается прочитать SQL-скрипт из Ресурс ServletContext @Ashish –

+0

Привет, Ashish. Если у вас есть ссылка, которая использует несколько схем, то можете ли вы поделиться со мной? Я застрял с последних дней в этом выпуске. –

+0

Вы пытались установить batch.data.source.init в false? Кроме того, вы можете обмануть администратор партии, просто имея простой оператор sql в бизнес-скрипте, например «Выбрать 1» – Ashish

Смежные вопросы