Spring DefaultMessageListenerContainer MDP初始化
-
25-10-2019 - |
题
在DefaultMessageListenerContainer初始化上执行初始化的最佳方法是什么?目前,我正在等待第一条消息,并使用布尔变量来跟踪它,这并不那么漂亮。有没有更好的办法 ?我想在消息驱动的POJO启动后,我想阅读并将某些数据加载到缓存中,因此消息处理更快。
(编辑)
春季配置碎片:
<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>
我想在听众收到任何消息之前完成一些初始化。
解决方案
你不能只使用 @PostConstruct
注释一种方法 ItemMDPImpl
要执行启动初始化,就像其他任何弹簧豆一样?
不隶属于 StackOverflow