Свойства формы-заполнителя схемы Spring batch xml repositoryitemwriter - PullRequest
0 голосов
/ 09 марта 2020

Необходимо получить имя схемы из файла свойств для весеннего пакетного приложения. Где имя схемы отличается для dev и prod для базы данных MS SQL.

Конфигурация задания в xml, как показано ниже

<bean id="dataItemWriter" class="org.springframework.batch.item.database.JdbcBatchItemWriter">
    <property name="assertUpdates" value="true" />
    <property name="itemPreparedStatementSetter">
        <bean class="org.test.batch.model.ItemStatementMapper" />
    </property>
    <property name="sql" >
                <value>
                    <![CDATA[
                            INSERT INTO dbo.EMPLOYEE
                                   (PROJECT_NAME
                                   ,APP_NAME
                                   ,EMPLOYEE_NAME)
                                   values (?,?,?)
                    ]]>
                </value>
    </property>
    <property name="dataSource" ref="dataDataSource" />
</bean> 

Имя схемы "dbo" должно быть получено в форме файл свойств, чтобы DEV и PROD это можно было изменить в конфигурации

1 Ответ

1 голос
/ 17 марта 2020

Я не вижу необходимости помещать значение в блок CDATA, в вашем запросе нет специальных символов xml. Вот пример: https://github.com/spring-projects/spring-batch/blob/8762e3411557aaf887867f8d8594b01127538cb1/spring-batch-core/src/test/resources/org/springframework/batch/core/resource/ListPreparedStatementSetterTests-context.xml#L25. Так что в вашем случае это должно быть что-то вроде:

<bean id="dataItemWriter" class="org.springframework.batch.item.database.JdbcBatchItemWriter">
    <property name="assertUpdates" value="true" />
    <property name="itemPreparedStatementSetter">
        <bean class="org.test.batch.model.ItemStatementMapper" />
    </property>
    <property name="sql" >
        <value>
           INSERT INTO dbo.EMPLOYEE (PROJECT_NAME ,APP_NAME ,EMPLOYEE_NAME) values (?,?,?)
        </value>
    </property>
    <property name="dataSource" ref="dataDataSource" />
</bean>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...