Как я могу проверить параметры в Reader для моего запроса

#spring-batch

#пакет spring-batch

Вопрос:

Мне нужно проверить параметры для моего запроса внутри reader, я отправляю параметры внутри RunConfiguration, я даю вам свою работу с кодом, спасибо за вашу помощь (я порицал часть кода с помощью «*» для защиты данных)

 <bean class="**.*****.absis.batch.arch.internal.reader.***ItemReader" id="readerBBDD_Step1">
    <property name="dataSource" ref="appDataSource"></property>
    <property name="sql" value="select conf.repte, imp.IMPREPTE1 , imp.IMPREPTE2, imp.IMPREPTE3,imp.IMPREPTE4,imp.IMPREPTE5,imp.IMPREPTE6, subrepte, negocio, asignacion, tipus, origen  from **************BATCH0003 conf inner join 
TDE_IMPORTREPTES_BATCH0003 imp on CONF.REPTE = imp.repte 
where conf.anyo = imp.anyo and conf.repte = '****' and esquema = '*****' and tipus='${param1}'" ></property>    
    <property name="rowMapper">
        <bean class="****.****.absis.batch.arch.internal.reader.****sBaseRowMapper">
            <property name="rowMapper">
                <bean class="***.***.absis.batch.app.****.util.MapperStep1"></bean>
            </property>
        </bean>
    </property>
</bean>
  

Моя цель — контролировать параметр1

Ответ №1:

я отправляю параметры внутри RunConfiguration

Вы можете передать param1 в качестве параметра своему заданию и проверить его с помощью JobParametersValidator .

Затем, как только он будет проверен, он может быть передан вашему Reader с:

 tipus='#{jobParameters[param1]}'
  

Надеюсь, это поможет.

Комментарии:

1. Привет, спасибо за вашу помощь. Вы можете объяснить мне, как я могу использовать JobParametersValidator? и это: tipus=’#{jobParameters[param1]}’ Правильно ли я помещаю это в свой класс reader?

2. JobParametersValidator это интерфейс. Вы реализуете этот интерфейс с помощью своей логики проверки, затем добавляете свою реализацию в задание, как показано по ссылке, которую я дал (вверху страницы есть переключатель для выбора между конфигурацией Java / XML). Затем замените tipus='${param1}' в вашем XML на tipus='#{jobParameters[param1]}' .

3. Последний вопрос, я создаю новый независимый класс в своем пакете с этим импортом, например:ValidatorParameters.java ? или я делаю импорт в конфигурации класса или что-то в этом роде