【问题标题】:JMS outbound channel adapter java-based configurationJMS 出站通道适配器基于 java 的配置
【发布时间】:2015-03-10 04:09:13
【问题描述】:

有什么方法可以配置 JMS 出站通道适配器

<int-jms:outbound-channel-adapter id="jmsOut" destination="outQueue" channel="exampleChannel"/>

通过类似的“简单”方式,但仅使用基于 java 的(注释)配置? 如果不是,那么实现这一点的最简单方法是什么?

【问题讨论】:

    标签: java spring annotations jms spring-integration


    【解决方案1】:

    Eugene,我已经向您指出了 Spring Integration Java DSL。这正是从基于 Java 的配置中简化 Spring 集成的最佳方式。

    由于您的类似问题不是第一个,请注意该项目,它与 Core SI 有简单的融合:

    @Bean
    public IntegrationFlow jmsOutboundFlow() {
        return IntegrationFlows.from("exampleChannel")
                    .handleWithAdapter(h ->
                        h.jms(this.jmsConnectionFactory).destination("outQueue"))
                    .get();
    }
    

    否则,原始 Java 和注释配置可能如下所示:

    @Bean
    @serviceActivator(inputChannel = "exampleChannel")
    public MessageHandler jsmOutboundAdapter() {
       JmsTemplate template = new DynamicJmsTemplate();
       template.setConnectionFactory(this.jmsConnectionFactory);
       JmsSendingMessageHandler handler = new JmsSendingMessageHandler(template);
       handler.setDestinationName("outQueue");
       return handler;
    }
    

    【讨论】:

    • 示例中实际上是 Java 8,这就是我没有考虑 DSL 的原因 :)
    猜你喜欢
    • 2018-07-06
    • 2016-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-01
    • 2016-05-28
    • 2011-08-29
    • 2016-03-08
    相关资源
    最近更新 更多