Я переношу задания Spring Batch Partition с конфигурацией XML в Spring batch 4.x.Я пытаюсь воспользоваться улучшением MessageChannelPartitionHandler, где оно ищет завершение удаленных шагов как с каналом ответа, так и с опросом источника данных.
Когда я использую эту конфигурацию:
<int:channel id="partitioned.jms.requests">
<int:dispatcher task-executor="springbatch.partitioned.jms.taskExecutor"/>
</int:channel>
<int:channel id="partitioned.jms.reply" />
<bean id="partitioned.jms.handler" class="org.springframework.batch.integration.partition.MessageChannelPartitionHandler">
<property name="messagingOperations">
<bean class="org.springframework.integration.core.MessagingTemplate">
<property name="defaultChannel" ref="partitioned.jms.requests"/>
</bean>
</property>
<property name="stepName" value="process.partitioned.step"/>
<property name="gridSize" value="${process.step.partitioned.gridSize}"/>
<property name="dataSource" ref="springbatch.repositoryDataSource" />
<property name="pollInterval" value="${springbatch.partition.verification.interval}"/>
</bean>
Шаг завершен, но я вижу ошибку в журналах.
no output-channel or replyChannel header available
Я посмотрел на класс и увидел, что могу добавить свойство replyChannel в класс MessageChannelPartitionHandler.Если я добавлю следующее:
<property name="replyChannel" ref="claim.acp.process.partitioned.jms.reply"/>
Я получу сообщение об ошибке, что нужен канал для опроса.
Как создать опросный канал (исходя из той же очереди JMS)?