Как установить класс ConnectionFactory в исходящий адаптер Jms? (в рамках Spring Integration) - PullRequest
0 голосов
/ 22 января 2020

Я использую Spring Integration и пытаюсь (в IntegrationFlow) установить outboundAdapter с connectionFactory в Jms. Поскольку я новичок в этих классах, я не могу создать ничего, что не выдает ошибку в этом фрагменте кода. Как определить класс ConnectionFactory, чтобы он работал?

private MessageChannel workflowExample() {
    return IntegrationFlows
            .from(requests())
            .transform(someTransformer())
            .handle(Jms.outboundAdapter(connectionFactory)
                   .destination("somewhere"))
            .get();
}

1 Ответ

0 голосов
/ 22 января 2020

Вы должны понимать, какой JMS-клиент вы собираетесь использовать. Если это ActiveMQ, то ConnectionFactory может выглядеть следующим образом:

ConnectionFactory amqFactory = new ActiveMQConnectionFactory("vm://localhost?broker.persistent=false")

Это то, что мы делаем для тестирования во встроенном режиме.

Если ваш JMS-брокер управляется JEE сервер, то вам нужно определить имя JNDI для объекта ConnectionFactory и использовать поддержку Spring JNDI для его получения.

Если вы имеете дело с IBM MQ, то вам нужно использовать их оболочку JMS, чтобы иметь возможность правильно создать ConnectionFactory. И так далее. Есть клиент для Tibco JMS, некоторая JMS-оболочка для Rabbit MQ et c.

В любом случае создание экземпляра ConnectionFactory не входит в обязанности Spring Integration. Вам действительно нужно выяснить, какой JMS-клиент вы используете, и следовать его документации по его созданию. Поддержка Spring JMS может помочь вам с некоторыми шаблонными кодами и управлением зависимостями: https://docs.spring.io/spring/docs/5.2.3.RELEASE/spring-framework-reference/integration.html#remoting -jms

Вы также можете взглянуть на поддержку profile , чтобы вы могли локально протестируйте свои потоки по отношению к встроенному ActiveMQ и подключитесь к внешнему брокеру при работе: https://docs.spring.io/spring/docs/5.2.3.RELEASE/spring-framework-reference/core.html#beans -definition-profile

...