Java spring 集成的 7 DSL 表示 "int-jms:message-driven-channel-adapter"

Java 7 DSL representation for spring integration "int-jms:message-driven-channel-adapter"

我有代码可以使用 spring 集成配置从 IBM MQ 读取消息,如下所示。我需要使用 Spring 集成注释转换为 Java 7 DSL。

<bean id="inQueue" class="com.ibm.mq.jms.MQQueue" depends-on="esbQueueConnectionFactory">
    <constructor-arg value="******" />
</bean>

<int:channel id="readFromChannel">
    <int:interceptors>
        <!-- <int:wire-tap channel="logger" /> -->
    </int:interceptors>
</int:channel>

<int-jms:message-driven-channel-adapter
    id="jmsInAdapter" connection-factory="esbQueueConnectionFactory"
    destination="inQueue" channel="readFromChannel" />

<bean id="msgProcesser" class="com.gap.si.service.MessageProcessService" />

<int:service-activator id="servAct"
    input-channel="readFromChannel" ref="msgProcesser" method="processMessage" />

如果您想使用 Java DSL,请参阅 reference manual

使用Jms工厂class

IntegrationFlows.from(Jms.messageDriven...)
                .handle(...)
                .get();

如果您只想使用注释,请参阅 Spring Integration reference manual

消息驱动的适配器只是一个 @Bean 类型的 JmsMessageDrivenEndpoint,它获取一个侦听器容器和一个 ChannelPublishingJmsMessageListener.