int-jms的Java配置:来自spring集成的outbound-channel-adapter

时间:2016-03-07 05:44:03

标签: java spring jms spring-integration

我正在尝试将基于XML的配置转换为基于JAVA的配置。有人可以让我知道以下基于java注释的配置

<jms:outbound-channel-adapter channel="requestChannel"
                              connection-factory="testConnectionFactory"
                              destination-name="${jms.queueName}" 
                              message-converter="messageConverter"/>

我试着看看这个Reference doc。但我无法理解如何将上述xml映射到注释配置。

1 个答案:

答案 0 :(得分:1)

@ServiceActivator(inputChannel="requestChannel")
@Bean
public MessageHandler outbound(JmsTemplate jmsTemplate) {
    JmsSendingMessageHandler handler = new JmsSendingMessageHandler(jmsTemplate);
    handler.setDestinationName(...);
    ...
    return handler;
}

@Bean
public JmsTemplate jmsTemplate(ConnectionFactory jmsConnectionFactory) {
    ...
    template.setMessageConverter(converter());
    return template;
}

然后添加连接工厂和转换器bean。

修改

还要关注Spring Integration Java DSL项目,该项目就此问题提供了org.springframework.integration.dsl.jms.Jms工厂。您可以在JmsTestshttps://github.com/spring-projects/spring-integration-java-dsl/blob/master/src/test/java/org/springframework/integration/dsl/test/jms/JmsTests.java

中找到它的用法