1

如果我将 Spring Integration 与 XML-Configuration 一起使用,则可以像下面这样完成消息侦听器:

<int:channel id="handlerChannel"/>

<bean class="org.springframework.integration.endpoint.EventDrivenConsumer">
    <constructor-arg name="inputChannel" ref="handlerChannel"/>
    <constructor-arg name="handler" ref="alertHandler" />
</bean>

<int-jms:message-driven-channel-adapter channel="handlerChannel" container="listenerContainer" />

<bean id="listenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer" scope="prototype">
    <property name="connectionFactory" ref="connectionFactory"/>
    <property name="destination" ref="defaultDestination"/>
</bean>

问题是:我想在运行时创建自己的 ListenerContainers……如何获得相同的结果,或者更确切地说,如何将 MessageHandler 与 MessageListenerContainer 结合起来?

谢谢和问候

4

1 回答 1

0
MessageChannel channel = new DirectChannel();
DefaultMessageListenerContainer container = ...
JmsMessageDrivenEndpoint inbound = new JmsMessageDrivenEndpoint(container);
inbound.setOutputChannel(channel);
handler.subscribe(channel);
inbound.afterPropertiesSet();
inbound.start();

但是,为什么要在这里使用 Spring Integration;您可以MessageListener直接将 a 连接到消息侦听器容器中。

于 2014-12-01T15:13:24.503 回答