对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>我希望在侦听器接收到任何消息之前进行一些初始化。
发布于 2012-02-15 23:11:38
难道不能像其他Spring一样,使用@PostConstruct对ItemMDPImpl上的方法进行注释以执行启动初始化吗?
4.9.6 @PostConstruct和@PreDestroy
https://stackoverflow.com/questions/9301065
复制相似问题