как вызвать входящий канал в коде Java

#spring-integration

#spring-интеграция

Вопрос:

у меня есть канал

 <int-jpa:inbound-channel-adapter
    channel="transactionChannel" entity-manager="entityManager"
    jpa-query="select t from Transaction t where t.transactionStatus=:transactionStatus"
    expect-single-result="false">
    <int-jpa:parameter name="transactionStatus" expression="payload['transactionStatus']" />
</int-jpa:inbound-channel-adapter>
  

я хочу вызвать этот канал из кода Java, чтобы я мог передать TransactionStatus для получения записи из БД, так как мне нужно использовать его во многих классах, пожалуйста, скажите мне, как я могу вызвать через Java-код.

Ответ №1:

Вы не можете этого сделать — при создании адаптера с помощью XML для фреймворка требуется настроить опросник.

Вы можете создать JpaPollingChannelAdapter программно (Java config) и вызвать его receive() метод.

Смотрите Здесь пример, но не добавляйте @InboundChannelAdapter аннотацию.