【问题标题】:Spring DefaultMessageListenerContainer MDP InitializationSpring DefaultMessageListenerContainer MDP初始化
【发布时间】:2012-02-16 07:11:38
【问题描述】:

对 DefaultMessageListenerContainer 初始化执行初始化的最佳方法是什么?目前我正在等待第一条消息,并使用一个不太漂亮的布尔变量来跟踪它。有没有更好的办法 ?我想在消息驱动 POJO 启动后读取某些数据并将其加载到缓存中,因此消息处理速度更快。

(已编辑)

Spring 配置片段:

<bean id="itemListener" class="com.test.ItemMDPImpl" autowire="byName" />

<bean id="itemListenerAdapter" class="org.springframework.jms.listener.adapter.MessageListenerAdapter">
    <property name="delegate" ref="itemListener" />
    <property name="defaultListenerMethod" value="processItems" />
    <property name="messageConverter" ref="itemMessageConverter" />
</bean>

<bean class="org.springframework.jms.listener.DefaultMessageListenerContainer">
    <property name="connectionFactory" ref="itemMqConnectionFactory" />
    <property name="destinationName" value="${item_queue_name}" />
    <property name="messageListener" ref="itemListenerAdapter" />
    <property name="transactionManager" ref="jtaTransactionManager" />
    <property name="sessionTransacted" value="true" />
    <property name="concurrentConsumers" value="1" />
    <property name="receiveTimeout" value="3000" />
</bean>

我想在侦听器收到任何消息之前完成一些初始化。

【问题讨论】:

    标签: spring jms spring-jms


    【解决方案1】:

    难道你不能像任何其他 Spring bean 一样只使用 @PostConstruct 注释 ItemMDPImpl 上的方法来执行启动初始化吗?

    4.9.6 @PostConstruct and @PreDestroy

    【讨论】:

      猜你喜欢
      • 2011-05-23
      • 1970-01-01
      • 1970-01-01
      • 2015-12-26
      • 2011-05-22
      • 1970-01-01
      • 2010-09-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多