Используйте Spring Integration DSL для чтения из темы Tibco EMS - PullRequest
0 голосов
/ 08 ноября 2018

Я пытался настроить dsl весенней интеграции для чтения из темы Tibco EMS, выполнить некоторую обработку полученного сообщения и затем отправить его в очередь ActiveMQ. Я был в состоянии установить это успешно, используя конфигурацию XML, но хотел использовать вместо этого интеграцию Spring dsl. Я не мог понять, ни один не мог найти помощь онлайн об этом.

Моя конфигурация для отправки сообщения в ActiveMQ выглядит примерно так -

@Bean
public IntegrationFlow toActiveMQFlow(
        MessageChannel channel,
        ActiveMQQueue queue,
        CachingConnectionFactory cachingConnectionFactory) {
    return IntegrationFlows.from(channel)
            .transform(Object::toString)
            .handle(Jms.outboundAdapter(cachingConnectionFactory).destination(queue))
            .get();
}

И я думаю, что конфигурация для чтения из тем Tibco EMS должна быть примерно такой -

@Bean
public IntegrationFlow fromTibcoTopicFlow(
        MessageChannel channel,
        ConnectionFactory tibcoEmsConnectionFactory,
        Topic tibcoTopic
) {
    return IntegrationFlows
            .from(SomeInboundAdapter(tibcoEmsConnectionFactory).destination(tibcoTopic))
            .transform(Object::toString)
            .channel(channel)
            .get();
}

Поскольку я не нашел большой помощи по последней конфигурации, прибегает ли к этой конфигурации единственный вариант?

Пожалуйста, исправьте / отредактируйте / укажите на любые ошибки, которые я сделал, все еще изучая Spring Integration DSL.

Ценю вашу помощь!

1 Ответ

0 голосов
/ 08 ноября 2018

Вам нужно использовать Jms.messageDrivenChannelAdapter(ConnectionFactory connectionFactory).

И не может использовать spring-integration-java-dsl. Он был объединен с основным проектом начиная с версии 5.0: https://docs.spring.io/spring-integration/docs/5.0.9.RELEASE/reference/html/whats-new.html#_java_dsl

Мы исправили проблему со старым Java DSL jar на classpath: https://jira.spring.io/browse/INT-4551

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...